0Pricing
DevOps Bootcamp · レッスン

GitHub Actions入門

ワークフロー、イベント、ジョブ、ステップなど、GitHub Actionsの基本概念を理解します。

「GitHub Actions入門」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。

GitHub Actions入門

GitHub Actionsへようこそ!GitHubのこの強力な機能を使うと、リポジトリ内でタスクを直接自動化できます。

コードのための個人用ロボットアシスタントだと考えてみてください。プロジェクトのビルドやテストの実行、変更時のWebサイトの自動デプロイまで行えます。

このレッスンでは、基本概念であるワークフロー、イベント、ジョブ、ステップについて学びます。

ワークフロー:自動化の設計図

GitHub Actionsの中心となるのがワークフローです。ワークフローとは、1つ以上のジョブを実行する自動化された手順です。

  • ワークフローはYAMLファイルで定義します。
  • これらのファイルは、リポジトリの.github/workflowsディレクトリに配置します。
  • 各ワークフローファイルは、個別の自動化プロセスを表します。

コードのプッシュなど、特定のイベントが発生すると、ワークフローが動き始めます。

ワークフローファイルの構成

GitHub Actionsのワークフローは、人間が読みやすいデータシリアライズ標準であるYAMLで記述します。基本的な構造は次のとおりです。

name: My First Workflow

on: [push]

jobs:
  my_first_job:
    runs-on: ubuntu-latest
    steps:
      - name: Greet Me
        run: echo "Hello CoddyKit!"

イベント:自動化を開始するトリガー

イベントとは、ワークフローの実行を開始する特定のアクティビティです。GitHub Actionsに自動化プロセスをいつ開始するかを伝えます。

一般的なイベントには次のようなものがあります。

  • push:コードがリポジトリにプッシュされたとき。
  • pull_request:プルリクエストが作成、更新、またはクローズされたとき。
  • schedule:特定の時刻(cronジョブなど)に実行するとき。

ワークフローファイルでは、on:キーワードを使って1つ以上のイベントを指定できます。

name: On Push Example

on: [push, pull_request] # This workflow runs on push or pull request events

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v3
      - name: Run a simple command
        run: echo "Code was pushed or PR updated!"

ジョブ:タスクの整理単位

ジョブとは、同じランナー上で実行されるステップの集合です。ワークフローは1つ以上のジョブで構成され、ジョブは並列または順番に実行できます。

  • 各ジョブは、runs-onで指定した仮想環境の新しいインスタンス上で実行されます。
  • 一般的なruns-onの値には、ubuntu-latest、windows-latest、macos-latestなどがあります。

ジョブでは、アプリケーションのビルドやテストの実行など、実行する内容を定義します。

ステップ:個別の指示

ジョブ内では、ステップが個々のタスクとして実行されます。ステップには次のようなものがあります。

  • コマンドラインスクリプト(runを使用)。
  • アクション(usesを使用)—再利用可能なコード。

ステップは定義された順序で実行されます。1つのステップが失敗すると、デフォルトではジョブも失敗し、それ以降のステップはスキップされます。

name: Steps Demo

on: [push]

jobs:
  my_job:
    runs-on: ubuntu-latest
    steps:
      - name: Step 1: Say Hello
        run: echo "Hello from Step 1!"
      - name: Step 2: List files
        run: ls -la
      - name: Step 3: Echo another message
        run: echo "Step 3 completed."

アクション:再利用可能なコードブロック

アクションは、自動化における最も細かい単位です。特定のタスクを実行する、再利用可能なコードです。

一般的なタスクのために複雑なスクリプトを作成する代わりに、GitHub Marketplaceにある既存のアクションを使ったり、自分で作成したりできます。

  • uses:キーワードを使ってアクションを参照します。
  • アクションはGitHub(例:actions/checkout)、Dockerイメージ、またはJavaScriptファイルから利用できます。

これにより時間を節約でき、処理の一貫性も高まります。

name: Using Actions

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository code
        uses: actions/checkout@v4 # This action checks out your repo
      - name: Setup Node.js environment
        uses: actions/setup-node@v4
        with:
          node-version: '20'
      - name: Install dependencies
        run: npm install

完全なワークフローの構築

ここまで学んだ内容を、1つの実行可能なワークフロー例にまとめてみましょう。このワークフローでは、コードをチェックアウトして、あいさつ文を出力します。

このYAMLファイルは、リポジトリ内の.github/workflows/greeting.ymlとして保存します。

name: Simple Greeting Workflow

on: [push] # Triggers on any push to the repository

jobs:
  greet_job:
    runs-on: ubuntu-latest # Runs on a fresh Ubuntu virtual machine
    steps:
      - name: Checkout the repository
        uses: actions/checkout@v4 # Action to get your code
      - name: Say hello
        run: echo "Hello, GitHub Actions User!" # A simple command-line step
      - name: Show current directory
        run: pwd # Another command to show where we are

ワークフローの実行の流れ

pushなどのイベントが発生すると、GitHub Actionsは次の処理を行います。

  1. .github/workflows/から該当するワークフローYAMLファイルを読み込みます。
  2. 各ジョブ用に仮想マシン(ランナー)を初期化します。
  3. ジョブ内の各ステップを順番に実行します。
  4. 各ステップとジョブ全体の状態(成功または失敗)を報告します。

この処理は、GitHubリポジトリの「Actions」タブで確認できます。

理解度チェック:ワークフローの構成要素

GitHub Actionsのワークフローファイルに含まれる必須の構成要素は、次のうちどれでしょうか。

まとめ:GitHub Actions入門

よくできました!GitHub Actionsの基礎概念を学びました。

  • ワークフロー:YAMLファイルで作成する自動化の設計図。
  • イベント:ワークフローを開始するトリガー。
  • ジョブ:ランナー上で実行されるステップの集合。
  • ステップ:個別のコマンドまたは再利用可能なアクション。
  • アクション:一般的なタスクに使える再利用可能な作業単位。

次は、より実践的なCI/CDワークフローの構築について学びます。

よくある質問

「GitHub Actions入門」レッスンは無料ですか?

はい。「GitHub Actions入門」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。

「GitHub Actions入門」で何を学びますか?

ワークフロー、イベント、ジョブ、ステップなど、GitHub Actionsの基本概念を理解します。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

DevOps Bootcampを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「GitHub Actions入門」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDevOps Bootcampレッスンでコードを書いて実行できますか?

はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

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

  1. GitHub Actions入門
  2. CI/CDワークフローの構築
  3. カスタムActionsとMarketplace
  4. Actions の Secrets と環境変数
← DevOps Bootcampに戻る