はじめてのGitHub Actions:最小ワークフローを確実に通す

この連載の初回では、GitHub Actions の全体像をまず丁寧に押さえます。最小の workflow を用意して一度きちんと成功させ、実行ログのどこを見ると状況を把握できるのかまで確認します。用語や設定は最小限に絞り、手元で再現できるところに焦点を当てます。

2025年9月9日 ・ GitHub Actions

Actions タブの履歴は反映に数秒〜十数秒かかることがあります。更新直後は少し待ってから確認してください。

この記事でできるようになること

  • GitHub Actions が「自動で動くお手伝いロボ」だとイメージできる
  • ワークフロー (workflow) / ジョブ (job) / ステップ (step) の意味をざっくり説明できる
  • Actions タブを開いて動きを見ることができる

1. そもそも何が困るの?

コードを直したり、追加したりするとき、毎回こんな手作業をしていませんか?

  • テストコマンドを打つ
  • 変なミスがないかチェック
  • 何か終わったらチームに知らせる

人が毎回やると「忘れる」「ミスる」「時間がかかる」が起きがちです。ここを自動でやってくれるのが GitHub Actions です。


2. GitHub Actions はなに?

GitHub が用意している「自動で動く仕組み」です。決まった書き方のファイル (YAMLファイル) をリポジトリの .github/workflows/ フォルダに置くと、

  • コードを push したとき
  • ボタンを押したとき(手動実行)
  • 決まった時間(後の回で学ぶ)

    などを合図に、クラウド上のコンテナや仮想マシンでコマンドが動きます。

この設定ファイルを「workflow(ワークフロー:自動の台本)」と呼びます。

用語 意味 ひとこと
workflow 自動の台本(トリガで動く) 台本
job 同一環境で順次動くまとまり
step 小さな作業単位 カット

3. 手作業 vs 自動フロー(イメージ)

人が毎回テスト→デプロイ→通知 と手でやる流れ と 自動で連続して進む流れの比較(キャラ付き・縦矢印・余白圧縮)

ポイント: 自動化で「抜け」「順番ミス」「忘れ」を防ぎ、気持ちをより本質的な作業に向けられるようにする。

図の説明: この図は、手作業の開発フローと GitHub Actions による自動フローを並べて比較しています。左側は人手で「変更→テスト→デプロイ→通知」を進める様子で、ヒューマンエラー(抜け漏れ・順番ミス・通知忘れ)やムラが起きやすい状態を示しています。右側は GitHub Actions での自動化で、トリガ(push / PR / スケジュール)を合図に「自動フロー(workflow→job→steps)」が毎回同じ手順で実行され、最後に通知まで届くイメージです。工程は大きな箱でまとめて表示しており、実際の中身は steps(lint / test / deploy など)としてログに可視化され、再現性と安定性が高まります。

導入の効果(要点):

  • 失敗の早期検知(fail-fast)で無駄な作業を減らす
  • 平均リードタイムの短縮(毎回のテスト・デプロイが自動実行)
  • ログの可視化と再現性の向上(workflow / job / steps が記録される)
  • ヒューマンエラーの低減と通知の確実化(Slack / メール等)

まずは最小で始める指針:

  • 最小の workflow(YAML)で「一度きちんと成功」を体験する
  • Marketplace のアクションは @v3/@v4 などバージョンを固定
  • 機密値は Secrets に置き、env: へ直書きしない
  • ステップは lint → test → deploy の順で小さく積む(詳細は本記事後半と次回)

4. Actions 画面を見てみよう

GitHub のリポジトリ上部のタブに「Actions」があります。ここを開くと、過去に動いたワークフローの一覧が並び、緑(成功)や赤(失敗)のバッジが見えます。

[図2 挿入予定]

  • Alt: "Actions タブでワークフローの履歴が一覧で表示されている画面"
  • キャプション案: 図2: ワークフロー履歴と結果(緑=成功 / 赤=失敗)

5. まず“形”を知る:最小の例

これが、とても小さいワークフローの例です。

# .github/workflows/example.yml
name: example-workflow
on: [push]
jobs:
	hello_job:
		runs-on: ubuntu-latest
		steps:
			- run: echo "Hello, GitHub Actions!"

意味をざっくり:

  • name: 画面での表示名
  • on: [push] → コードを push したら動く
  • jobs: ここにジョブ(章)を並べる
  • hello_job: ジョブの内部名
  • runs-on: どの環境(ここでは Ubuntu)で動かすか
  • steps: 1行1行がステップ(小さな作業)
  • run: 実際に走るコマンド

用語の短い覚え方:

  • workflow = 自動の台本
  • job = 台本の章(1つの仮想マシンで順に実行)
  • step = 小さな作業の行

(用語の詳説は後続回または付録の用語集で扱います)

ヒント Marketplace のアクションは @v4 などバージョンを固定して使うのが無難です。急な破壊的変更の影響を避けられます。


6. ほんの少し先の見通し

このあと:

  • 第2回: 最小ワークフローを書いて動かし、ログを読む
  • 第3回: テストや “ひみつの値 (secrets)” を使う
  • 第4回: 複数バージョンを同時に試す (matrix) / 順番制御 (needs)
  • 第5回: 時間で動かす (cron) / 通知 / 権限の安全設定

ここでは “secrets” や “matrix” という言葉をチラ見せだけ。今覚えなくてOKです。


7. ミニ課題(手を動かそう)

ここまでOK チェック:

  1. リポジトリに .github/workflows/ フォルダを作る(なければ)
  2. example.yml を作り上の内容を貼る
  3. なにか小さい変更を commit & push → Actions タブで実行されたか見る

余裕があれば:

  1. echo のメッセージを別の文に変えて再度 push
  2. Actions タブで新しい実行が追加されたか / 出力が変わったか確認

8. つまづきやすいポイント Q&A

Q. フォルダ名を間違えたら? → .github/workflows 以外に置くと反応しません。 Q. いつ動いたかわからない → コミット後 数秒~十数秒待つ。履歴は自動反映。 Q. 失敗したらこわい? → この例は echo だけ。壊れるものはありません。

注意 公開リポジトリで機密値(パスワードや鍵)を env: 直書きしないでください。必要な値は Secrets に登録し、参照で扱いましょう。


9. ちょっとした安全の種あかし(軽く触れる)

次回以降で詳しくやりますが、誰かが作った Action(部品)を使うときは @v3 などバージョンをつけます。これで急な変更の影響を減らせます。今は「固定する」という習慣がある、と覚えておけばOKです。


10. まとめ

  • GitHub Actions は “決まった合図で自動で動く台本” を書く仕組み
  • まずは形を真似して 1つ成功させるのが最優先
  • 小さく動いたら、次は中を増やしていけばよい

次回: 実際にログの読み方や、少し長い例で“失敗” も見てみます。


(終) 第1回

出典

  • 公式ドキュメント: https://docs.github.com/actions
  • 概要(Understanding GitHub Actions): https://docs.github.com/actions/learn-github-actions/understanding-github-actions
Automation CI workflow