GitHub Actions で Playbook を実行する
コミットをきっかけに自動化を実行します。
「GitHub Actions で Playbook を実行する」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。
CI で自動化を実行する
GitHub Actions を使うと、プッシュするたびに新しいランナー上でプレイブックを実行できます。毎回同じ方法で自動化をテストできます。🚀
ワークフローは .github に配置する
ワークフローは .github/workflows に置く YAML ファイルです。GitHub はそこにあるファイルを見つけ、自動的に実行します。
.github/workflows/ansible.ymlプッシュをトリガーにする
on キーが、ワークフローを実行するタイミングを決めます。main への push をトリガーにするのが、CI の典型的な出発点です。
on:
push:
branches: [ main ]ランナー上でジョブを実行する
各ジョブは、runs-on で指定した仮想マシン上で実行されます。通常は、クリーンな ubuntu-latest イメージを使います。
jobs:
deploy:
runs-on: ubuntu-latestコードをチェックアウトする
最初のステップはほぼ必ず actions/checkout です。リポジトリをランナーにコピーし、プレイブックを利用できるようにします。
- uses: actions/checkout@v4ランナーに Ansible をインストールする
ランナーには何も用意されていないため、プレイブックを呼び出す前に、pip で Ansible をインストールするステップを追加します。
- run: pip install ansible実行前に lint する
早い段階で ansible-lint のステップを追加します。失敗するとジョブが停止し、デプロイのステップは開始すらしません。
- run: |
pip install ansible-lint
ansible-lintansible-playbook を呼び出す
仕上げのステップでは、ターミナルで実行する場合と同じように ansible-playbook を実行し、インベントリとファイルを指定します。
- run: ansible-playbook -i inventory site.ymlキーをハードコードせずシークレットを使う
YAML に認証情報を直接書き込んではいけません。代わりに secrets コンテキストを通じて GitHub Secrets から読み取ります。
env:
SSH_KEY: ${{ secrets.SSH_KEY }}SSH でホストに接続する
実際のサーバーに接続するには、ランナーのエージェントに SSH キーを読み込む必要があります。キーはあらかじめ保存したシークレットから渡します。
実行中のログを確認する
Actions タブには各ステップの出力がストリーミングされるため、失敗したタスクを Ansible が報告した場所で正確に確認できます。
確認問題
GitHub Actions のワークフローファイルはどこに配置しますか。
振り返り:プッシュでデプロイする
ワークフローを作成しました。プッシュをトリガーにし、チェックアウト、Ansible のインストール、lint の実行を行ってから、シークレットを使ってプレイブックを実行します。これで CI が作業を担います。🎉
よくある質問
「GitHub Actions で Playbook を実行する」レッスンは無料ですか?
はい。「GitHub Actions で Playbook を実行する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。
「GitHub Actions で Playbook を実行する」で何を学びますか?
コミットをきっかけに自動化を実行します。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
DevOps Bootcampを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「GitHub Actions で Playbook を実行する」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDevOps Bootcampレッスンでコードを書いて実行できますか?
はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 品質ゲートとしての ansible-lint
- GitHub Actions で Playbook を実行する
- パイプラインで Vault Secret を扱う
- 承認と Check Mode によるゲート付きデプロイ