以前にJenkinsを使ってCI/CDをやってみました。
ただ昨今のGitHubの隆盛を考えると、GitHub上で完結する「GitHub Actions」を使う事が多いため、GitHub Actionsを使ってみます。
ただいま行っているプロジェクトは、「Cloudflere Pages」に対してデプロイするのでGitHub Actionsを使うのが良さそうです。
1. 準備
まずはGitHubにプッシュしているリポジトリがあるかと思いますが、プッシュするためのトークンに対して権限を与える必要があります。
もしプッシュ時に以下のようなエラーになったら、トークンの権限を疑ってください。
! [remote rejected] develop -> develop (refusing to allow a Personal Access Token
to create or update workflow `.github/workflows/hello.yml` without `workflow` scope)1-1. トークンの権限設定
- GitHubのトークン設定画面を開きます ( https://github.com/settings/tokens )
- すでにトークンが設定されいてる場合は、該当するトークンを選択します。

- 「Select scopes」の「workflows」にチェックを入れます。
- 「Update token」をクリックして保存します。
これで準備が出来ました。
これをしないとプッシュ時にエラーとなることになります。
また新規で作成する場合も同様に「workflows」にチェックを入れて作成してください。
ワークフローの作成
GitHub Actionsはワークフローという単位で処理を定義します。
ワークフローはYAML形式で記述します。
ワークフローのファイルは、リポジトリのルートにある「.github/workflows」ディレクトリに配置します。
例えば、「hello.yml」というファイル名で作成します。
# ============================================
# GitHub Actions Hello World ワークフロー
# ============================================
# ----------------------------------------
# ワークフローの名前
# ----------------------------------------
# GitHub の Actions タブに表示される名前です
name: Hello World
# ----------------------------------------
# トリガー (on)
# ----------------------------------------
# どのイベントでこのワークフローを実行するか定義します
on:
# pushイベント: コードがpushされたとき
push:
branches:
- develop # developブランチへのpush時のみ実行
# workflow_dispatch: GitHub上から手動で実行可能にする
# Actions タブから「Run workflow」ボタンで実行できます
workflow_dispatch:
# ----------------------------------------
# ジョブ (jobs)
# ----------------------------------------
# 実行する処理をジョブ単位で定義します
# 複数のジョブは並列で実行されます(依存関係を設定しない場合)
jobs:
# ジョブID: 任意の名前をつけられます
hello:
# ジョブの表示名
name: Say Hello
# 実行環境: どのOSで実行するか
# - ubuntu-latest: Ubuntu (最もよく使われる)
# - windows-latest: Windows
# - macos-latest: macOS
runs-on: ubuntu-latest
# ----------------------------------------
# ステップ (steps)
# ----------------------------------------
# ジョブ内で順番に実行される処理
steps:
# ステップ1: シンプルなメッセージ表示
- name: Say Hello
run: echo "👋 Hello, GitHub Actions!"
# ステップ2: 現在の日時を表示
- name: Show Current Date
run: |
echo "📅 現在の日時:"
date
# ステップ3: GitHub Actions の変数を表示
# ${{ }} で変数を参照できます
- name: Show GitHub Context
run: |
echo "📦 リポジトリ: ${{ github.repository }}"
echo "🌿 ブランチ: ${{ github.ref_name }}"
echo "👤 実行者: ${{ github.actor }}"
echo "🔢 実行番号: ${{ github.run_number }}"
echo "📝 コミットメッセージ: ${{ github.event.head_commit.message }}"
# ステップ4: 複数行のコマンドを実行
# | を使うと複数行のコマンドを書けます
- name: Show System Info
run: |
echo "🖥️ システム情報:"
echo "-------------------"
uname -a
echo ""
echo "📂 カレントディレクトリ:"
pwd
echo ""
echo "📋 ディレクトリ内容:"
ls -laフォルダ構成は以下のようになります。
ProjectDir/
└── .github/
└── workflows/
└── hello.ymlワークフローの実行確認
GitHubのリポジトリの「Actions」タブを開きます。

ワークフローが一覧に表示されているので、クリックします。

ジョブが実行されている様子が確認できます。

ジョブ名をクリックすると、ステップごとの実行結果が確認できます。
以上でGitHub Actionsの基本的なワークフローの作成と実行確認が完了です。
また今後はCloudflare Pagesへのデプロイなどを行うため、その準備が出来たらまとめてみたいと思います。
