>100 Views
July 18, 26
スライド概要
はじめまして、yukikoと申します。 IT教育支援や、DX推進が可能です。 ◆ スキル LPIC レベル2 AI / Python Splunk BI(データ可視化・分析) ◆ その他 新卒・未経験の学生向けに、エンジニア転職を応援する資料を趣味で作成しています。 もしよろしければご活用ください。
うさうさ研修工房 講座シリーズ GitHub Actionsで学ぶ CI/CD入門 文系エンジニアのための、公式ドキュメントに基づく実践ガイド 面白きこともなき世を面白く🐰 2026年7月 — うさうさ研修工房
01 / 基本概念 CI/CDとは、そもそも何か? • [object Object],[object Object] • [object Object],[object Object] Commit • [object Object],[object Object] Build Test たとえるなら 毎回、人が目視で行っていた「検品作業」を、自動の検品ライン (センサー付きベルトコンベア)に置き換えるイメージです。 出典:GitHub Docs「GitHub Actions documentation」 Deploy 2
02 / 全体構造 GitHub Actionsの全体像 • [object Object],[object Object] • [object Object],[object Object] • [object Object],[object Object] Workflow Job A Step 1: checkout Step 2: setup Step 3: run tests Job B(並列) Step 1: checkout Step 2: build POINT 1つのイベント(push等)で、複数のJobが既定で並列に走ります。順序が必 要な場合は needs: で依存関係を指定します。 出典:GitHub Docs「Workflows」「Workflow syntax for GitHub Actions」 Step 3: deploy 3
03 / 基本構文 YAMLの基本構文を読む ci.yml • [object Object],[object Object] name: CI • [object Object],[object Object] • [object Object],[object Object] • [object Object],[object Object] on: push: branches: [main] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up Node uses: actions/setup-node@v4 - name: Install & Test run: | npm ci npm test 出典:GitHub Docs「Workflow syntax for GitHub Actions」 4
04 / トリガー 「いつ」動くかを決める on • [object Object],[object Object] • [object Object],[object Object] push • [object Object],[object Object] • [object Object],[object Object] pull_request schedule (cron) workflow_dispatch 出典:GitHub Docs「Workflow syntax for GitHub Actions」 5
05 / 実行モデル 並列実行と matrix戦略 • [object Object],[object Object] matrix: os × node • [object Object],[object Object] Ubuntu Node 18 Node 20 Windows Node 18 Node 20 macOS Node 18 Node 20 • [object Object],[object Object] → 6通りの組み合わせを自動生成し、並列でテスト 出典:GitHub Changelog「Actions steps can now be run in parallel」(2026年6月) 6
06 / セキュリティ基礎 Secretsと権限の最小化 • [object Object],[object Object] • [object Object],[object Object] • [object Object],[object Object] permissions: contents: read 出典:GitHub Docs「Secure use reference」 最小権限の原則 7
07 / クラウド連携 OIDCで「鍵を持たない」認証へ • [object Object],[object Object] • [object Object],[object Object] • [object Object],[object Object] GitHub Actions OIDC トークン発行 クラウド 検証 短命トークンで一時アクセス権を取得 → 長期の秘密鍵を GitHubに置かない 出典:GitHub Docs「OpenID Connect」「Configuring OpenID Connect in cloud providers」 8
08 / 高速化と受け渡し キャッシュと Artifacts • [object Object],[object Object] • [object Object],[object Object] • [object Object],[object Object] Cache Artifacts 速度重視 ⇄ 保管・受け渡し重視 目的に応じて使い分ける 出典:GitHub Docs「Workflows and actions reference」 9
09 / チェックリスト セキュリティ・ハードニング チェックリスト 権限は既定read-only。必要なJobにだけ書き込み権限を付与する サードパーティActionsはコミットSHAで固定し、信頼できる提供元のみ使 用する pull_request_target等の危険なトリガーは、未検証コードのcheckoutを避 ける Dependabotで依存Actionsを自動的に最新へ保つ 出典:GitHub Docs「Secure use reference」/GitHub Learn「Actions security」 守りを固めてから 公開・自動化する 10
10 / 最新アップデート 2026年6月:Stepsが並列実行に対応 • [object Object],[object Object] Before:直列 • [object Object],[object Object] Step 1 Step 2 Step 3 • [object Object],[object Object] After:並列 Step 1 wait-all Step 3 Step 2 同じ処理時間でも、待ち時間を短縮できる 出典:GitHub Changelog「Actions steps can now be run in parallel」(2026年6月25日) 11
WRAP-UP まとめと次の一歩 • [object Object] • [object Object] • [object Object] • [object Object] うさうさ研修工房 面白きこともなき世を面白く🐰 出典:GitHub Docs「Actions」/GitHub Changelog 12