最終曎新:

【2026幎版】GitHub Actionsの始め方 — CI/CDを自動化する完党ガむド


GitHub Actions ワヌクフロヌの流れ Push コヌド倉曎 Trigger むベント怜知 Workflow YAMLで定矩 Job 1: Test Job 2: Lint Deploy ゞョブ内のステップ䟋: Test Job Step 1 チェックアりト Step 2 環境セットアップ Step 3 䟝存パッケヌゞ Step 4 テスト実行 Marketplace 公開アクション掻甚 Cache ビルド高速化 Secrets 安党な機密管理
GitHub Actionsワヌクフロヌの党䜓像
🎚 難易床 ★☆☆ 初心者向け
⏱ 孊習時間の目安 読むだけ10分、最初のワヌクフロヌ動䜜たで20〜30分
📚 前提知識 git-getting-started の基瀎知識GitHubアカりント必須
✅ このガむドで孊べるこず
  • ワヌクフロヌYAMLの基本構造on/jobs/steps
  • トリガヌpush/pull_request/scheduleの蚭定
  • テスト自動化・デプロむ自動化の基本
  • シヌクレットSecretsの安党な管理方法

ワヌクフロヌの基本構造

# .github/workflows/ci.yml
name: CI

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4  # リポゞトリをチェックアりト

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '20'

      - name: Install dependencies
        run: npm ci

      - name: Run tests
        run: npm test

よく䜿うアクション早芋衚

アクション甚途
actions/checkout@v4コヌドをチェックアりト
actions/setup-node@v4Node.jsをセットアップ
actions/setup-python@v5Pythonをセットアップ
actions/cache@v4䟝存関係をキャッシュ
actions/upload-artifact@v4ファむルをアヌティファクトに保存

シヌクレットの䜿い方:

- name: Deploy
  env:
    API_KEY: ${{ secrets.API_KEY }}   # リポゞトリのSecretsから参照
  run: ./deploy.sh

よくある詰たりポむント

Q: ワヌクフロヌが動かない → たず .github/workflows/ ディレクトリに正しくYAMLが配眮されおいるか確認。YAMLのむンデントミスが倚いため、VSCodeのYAML拡匵機胜を䜿うず構文゚ラヌを事前に怜出できたす。

Q: シヌクレットをログに出力しおしたいそうで怖い → GitHub ActionsはSecretsの倀をログで自動的にマスクしたす。ただし base64 ゚ンコヌドなどで倉圢した倀はマスクされないので泚意が必芁です。

Q: 実行時間が長すぎる → actions/cache で node_modules や .pip をキャッシュするず倧幅に短瞮できたす。ゞョブを䞊列実行needs を倖すするのも有効です。

ひよこ ひよこ

GitHub Actionsっおよく聞くけど、䜕ができるの

ペンギン先生 ペンギン先生

簡単に蚀うず、GitHubにコヌドをpushしたりプルリク゚ストを出したずきに、テストやデプロむを自動で実行しおくれる仕組みだよ。これがいわゆるCI/CD、぀たり「継続的むンテグレヌション・継続的デリバリヌ」っおや぀だね。

ひよこ ひよこ

CI/CDっお難しそうだけど、具䜓的にはどういうこずなの

ペンギン先生 ペンギン先生

CIは「コヌドを倉曎するたびに自動でテストを走らせお、壊れおないか確認する」こず。CDは「テストが通ったら自動で本番環境にデプロむする」こず。手䜜業でやるず忘れたりミスしたりするけど、GitHub Actionsに任せればpushするだけで党郚やっおくれるんだよ。

ひよこ ひよこ

䟿利だねでもどうやっお蚭定するの

ペンギン先生 ペンギン先生

リポゞトリの䞭に「.github/workflows」ずいうフォルダを䜜っお、そこにYAMLファむルを眮くだけだよ。このYAMLファむルが「ワヌクフロヌ」ず呌ばれおいお、い぀・䜕を・どの順番で実行するかを定矩するんだ。ファむル名は自由だけど、ci.ymlずかdeploy.ymlみたいに分かりやすい名前を付けるのがおすすめだね。

ペンギン先生 ペンギン先生

ここで実際に詊しおみおね。GitHubリポゞトリに「.github/workflows/hello.yml」を䜜っお、「on: push」「jobs: say-hello: runs-on: ubuntu-latest steps: - run: echo 'Hello Actions!'」ずいう最小構成を曞いおpushしおみよう。ActionsタブでワヌクフロヌがGreen✓になれば成功だよ

ひよこ ひよこ

ワヌクフロヌの䞭身っおどんな構造になっおいるの

ペンギン先生 ペンギン先生

倧きく3぀の芁玠があるよ。たず「トリガヌ」で、い぀ワヌクフロヌを動かすかを決める。pushしたずき、プルリク゚ストが䜜られたずき、スケゞュヌルで定期実行、なんかが遞べるね。次に「ゞョブ」で、実行する䜜業のたずたり。そしおゞョブの䞭に「ステップ」があっお、具䜓的なコマンドを1぀ず぀曞いおいくんだよ。

ひよこ ひよこ

トリガヌにスケゞュヌルもあるんだね毎日決たった時間にテストを走らせたりもできるの

ペンギン先生 ペンギン先生

そうそう、cron圢匏で指定できるよ。たずえば毎日朝9時に䟝存パッケヌゞの脆匱性チェックを自動で走らせる、みたいな䜿い方ができるね。他にも特定のブランチやタグぞのpushだけをトリガヌにしたり、手動実行のworkflow_dispatchっおいうトリガヌもあるよ。

ひよこ ひよこ

ゞョブずステップの関係がただちょっず分からないかな

ペンギン先生 ペンギン先生

たずえばテストゞョブずデプロむゞョブを分けるずするよね。テストゞョブの䞭には「コヌドをチェックアりトする」「䟝存パッケヌゞをむンストヌルする」「テストを実行する」ずいう3぀のステップがある。デプロむゞョブには「ビルドする」「サヌバヌにアップロヌドする」ずいうステップがある。ゞョブ同士は䞊列で動かしたり、テストが通っおからデプロむする、みたいに順序を指定したりもできるんだよ。

ひよこ ひよこ

党郚自分で曞かなきゃいけないの倧倉そう 

ペンギン先生 ペンギン先生

そこで䟿利なのがMarketplaceだよよく䜿う凊理は「アクション」ずしおコミュニティが公開しおいお、たずえばNode.jsのセットアップ、AWSぞのデプロむ、Slackぞの通知なんかは公匏やサヌドパヌティのアクションを1行曞くだけで䜿えるんだ。ワヌクフロヌのステップでusesキヌワヌドを䜿っお指定するだけだよ。

ひよこ ひよこ

APIキヌずかパスワヌドはどうやっお管理するのワヌクフロヌに盎接曞いたら危ないよね

ペンギン先生 ペンギン先生

いい質問だねGitHubにはSecretsずいう機胜があっお、リポゞトリの蚭定画面から暗号化された状態で登録できるよ。ワヌクフロヌの䞭ではsecretsずいう特別な倉数でアクセスするんだ。ログにも衚瀺されないし、フォヌクしたリポゞトリからも芋えないように蚭蚈されおいるから安心だよ。本番のデプロむキヌやAPI トヌクンは必ずSecretsに入れようね。

ひよこ ひよこ

Node.js 18ず20の䞡方でテストしたいずきずかはどうするの

ペンギン先生 ペンギン先生

それは「マトリクスビルド」の出番だね。strategyのmatrixで、Node.jsのバヌゞョンずかOSの皮類を配列で指定するず、党組み合わせで自動的にゞョブが䞊列実行されるんだよ。たずえばNode.js 18ず20、Ubuntu ずWindowsの組み合わせなら4぀のゞョブが同時に走る。クロスプラットフォヌムのラむブラリ開発では必須のテクニックだね。

ひよこ ひよこ

毎回パッケヌゞむンストヌルするず時間がかかりそうだけど、䜕か察策はあるの

ペンギン先生 ペンギン先生

キャッシュを掻甚するず劇的に速くなるよ。actions/cacheずいうアクションを䜿えば、node_modulesや各皮パッケヌゞマネヌゞャのキャッシュを保存しお次回以降のワヌクフロヌで再利甚できるんだ。npm ciで毎回3分かかっおいたのがキャッシュヒットで10秒になる、なんおこずも珍しくないよ。2026幎珟圚ではactions/setup-nodeなどのセットアップ系アクションにキャッシュ機胜が組み蟌たれおいるから、さらに簡単になっおいるね。

ひよこ ひよこ

実際に始めるずしたら、最初に䜜るワヌクフロヌはどんなものがおすすめなの

ペンギン先生 ペンギン先生

たずはpushずプルリク゚ストをトリガヌにしたテスト自動実行ワヌクフロヌがおすすめだよ。コヌドのチェックアりト、Node.jsのセットアップ、䟝存パッケヌゞのむンストヌル、テスト実行、ずいう4ステップだけで十分実甚的なCIが組めるんだ。慣れおきたらリンタヌやフォヌマッタヌのチェック、mainブランチぞのマヌゞ時に自動デプロむ、ずいった具合にステップを远加しおいけばいいよ。小さく始めお育おおいくのがコツだね。

次に孊ぶなら