0Pricing
DevOps Bootcamp · レッスン

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-lint

ansible-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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 品質ゲートとしての ansible-lint
  2. GitHub Actions で Playbook を実行する
  3. パイプラインで Vault Secret を扱う
  4. 承認と Check Mode によるゲート付きデプロイ
← DevOps Bootcampに戻る