4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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 は必要になる
4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?