ビルドジョブの定義
まず、既存のワークフローを整理し、焦点を絞った build ジョブを作成します。明確化のため、前の実験(Lab)で用いたマトリックス戦略を簡略化し、ジョブ依存関係に焦点を当てるために単一バージョンに戻します。
github-actions-demo の GitHub リポジトリページで、緑色の Code ボタンをクリックします。
- HTTPS タブが選択されていることを確認し、URL をコピーします。URL は
https://github.com/your-username/github-actions-demo.git のようになるはずです。
- LabEx 環境でターミナルを開きます。デフォルトのパスは
~/project です。
git clone コマンドを使用してリポジトリをダウンロードします。your-username はご自身の GitHub ユーザー名に置き換えてください。
cd ~/project
git clone https://github.com/your-username/github-actions-demo.git
出力例:
Cloning into 'github-actions-demo'...
remote: Enumerating objects: X, done.
remote: Counting objects: 100% (X/X), done.
remote: Total X (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (X/X), done.
- クローンしたリポジトリに移動します。
cd ~/project/github-actions-demo
-
WebIDE エディタを使用して、新しいワークフローファイル .github/workflows/job-dependencies.yml を作成します。ファイルエクスプローラーの左側にある project/github-actions-demo/.github/workflows/ の下でファイルを見つけることができます。
-
基本的なワークフロー構造の作成から始めます。ワークフロー名とトリガーを追加します。
name: Job Dependencies
on: [push]
jobs セクションを追加し、ランナーを指定して build ジョブを定義します。
jobs:
build:
runs-on: ubuntu-latest
steps セクションを追加します。まず、リポジトリコードを取得するための checkout ステップを追加します。
steps:
- uses: actions/checkout@v4
- Node.js セットアップステップを追加します。
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
- 依存関係をインストールするステップを追加します。
- name: Install dependencies
run: npm install
- テストを実行するステップを追加します。
- name: Run tests
run: npm test
- アーティファクトディレクトリとファイルを作成するビルドステップを追加します。
- name: Build project
run: |
mkdir dist
echo "Build artifact created at $(date)" > dist/build.txt
- 最後に、アーティファクトをアップロードするステップを追加します。このステップは、次のジョブがビルド出力を利用できるようにするために不可欠です。
- name: Upload build artifact
uses: actions/upload-artifact@v4
with:
name: dist-files
path: dist
完成したファイルは次のようになります。
name: Job Dependencies
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
- name: Install dependencies
run: npm install
- name: Run tests
run: npm test
- name: Build project
run: |
mkdir dist
echo "Build artifact created at $(date)" > dist/build.txt
- name: Upload build artifact
uses: actions/upload-artifact@v4
with:
name: dist-files
path: dist
解説
- 簡略化のため、
matrix 戦略を削除しました。
Upload build artifact ステップは保持しました。これは、次のジョブがこれらのファイル(成果物)を必要とするため、極めて重要です!
変更を加えたら、ファイルを保存してください (Ctrl+S または Cmd+S)。