GitHub Actions とは
GitHub Actions は、コードの変更に応じて自動で処理を実行する仕組みです。
例えば以下のようなことができます。
- コードを push したら自動でテストを実行
- Pull Request が作られたらコードをチェック
- main ブランチにマージされたら本番環境にデプロイ
つまり、GitHub Actions を使えば、開発作業を自動化できます。
checkoutとは
GitHub Actions のワークフローを書くと、よく以下のようなコードが登場します。
- name: Checkout repository
uses: actions/checkout@v4
これは actions/checkout
というアクションで、GitHub のリポジトリのコードをワークフロー環境にダウンロード(コピー)するためのものです。
なぜ checkout
が必要なのか
GitHub Actions の実行環境は、最初は空の状態です。
つまり、コードを push してワークフローを動かしても、リポジトリのファイルは最初は存在しません。
しかし、多くの処理(テストやビルド)はリポジトリのコードがないと実行できません。
そこで checkout
を使うことで、GitHub のリポジトリのコードを取得できるようになります。
Push 時に Hello, World! を表示する
GitHub Actions の基本的な動作を確認するために、Push した際に "Hello, World!" を表示するワークフローを作成してみます。
name: Hello World on Push
on: push
jobs:
hello-world-job:
runs-on: ubuntu-latest
steps:
- name: Print Hello World
run: echo "Hello, World!"
このワークフローをリポジトリに追加すると、Push するたびに "Hello, World!" が出力されます。
これにより、GitHub Actions が正常に動作していることを確認できます。
実際の動きを見てみる
実際に checkout
を使って、リポジトリのファイルを表示してみます。
name: Checkout Example
on: push
jobs:
checkout-job:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: List files in repo
run: ls -la
このワークフローを実行すると、リポジトリ内のファイル一覧が表示されます。
checkout
を入れない場合、リポジトリのファイルがないため ls -la
しても何も表示されません。
まとめ
- GitHub Actions はコードの変更に応じて処理を自動化するツール
-
actions/checkout
はリポジトリのコードを取得するためのアクション -
push
時に "Hello, World!" を表示することで、GitHub Actions の動作確認ができる - ほとんどのワークフローで
checkout
は必要になる