>100 Views
July 18, 26
スライド概要
はじめまして、yukikoと申します。 IT教育支援や、DX推進が可能です。 ◆ スキル LPIC レベル2 AI / Python Splunk BI(データ可視化・分析) ◆ その他 新卒・未経験の学生向けに、エンジニア転職を応援する資料を趣味で作成しています。 もしよろしければご活用ください。
うさうさ研修工房 講座シリーズ VOL.3 GitHub Actions 実践入門 環境構築編 Why・What・Howで整理する、つまずかない環境の整え方 面白きこともなき世を面白く🐰 2026年7月 — うさうさ研修工房
00 / この回のゴール この回で身につけること • 最低限そろえるべき環境要素を、迷わず用意できるようになる WHY • pushする前にミスへ気づける、ローカル執筆環境を整える なぜ大事か • 権限・Secrets設定でつまずく典型パターンを知り、自力で切り分けられ る • 自分のプロジェクト用「環境構築チェックリスト」を作れる WHAT 何を揃えるか HOW どう手を動かすか 出典:GitHub Docs「GitHub Actions documentation」 2
01 / 基本環境 最低限、何を揃えればよいか • WHY 場所やファイル名を間違えると、エラーすら出ずに「何も起きない」状態 になる • WHAT GitHubアカウント/Actions有効なリポジトリ/.github/workflows/ ディ レクトリ/YAMLエディタ • HOW まずは1個の最小構成ワークフローを配置し、Actionsタブに表示される ことを確認する .github/ workflows/ ci.yml deploy.yaml この場所・複数形が絶対条件 POINT 「エラーが出ない=正しい」ではありません。まず動いているか、 Actionsタ ブで目視確認する癖をつけましょう。 出典:GitHub Docs「Workflow syntax for GitHub Actions」 3
落とし穴 01 「workflow」と「workflows」の罠 • 症状 ワークフローファイルを作ったのに、Actionsタブに何も表示されない • 原因 .github/workflow/(単数形)に置いてしまっている。GitHubは複数形 のディレクトリしか見ない .github/workflow/ 認識されない • 対処 .github/workflows/ に置き直すだけで解決する、非常に地味だが最 頻出のミス .github/workflows/ 正しく認識される 出典:GitHub Docs「Workflow syntax for GitHub Actions」 4
02 / 執筆環境 ローカルの執筆環境を整える • WHY ブラウザ上で直接編集すると、インデントミスに気づかずpushしてから 発覚しがち VS Code + YAML拡張 • WHAT VS Code+YAML拡張機能/actionlint(静的リンター)/act(ローカル 疑似実行) • HOW まずVS Code拡張を入れ、余裕があればactionlintをCIにも組み込む actionlint act(ローカル実行) 出典:rhysd/actionlint/nektos/act(GitHub公開リポジトリ) 5
落とし穴 02 YAMLインデント、 1マスのズレが致命傷 • YAMLは「見た目が近い」ではなく、スペースの数が正確に揃っている必要 がある 誤り例 on: • 階層がずれると、意図した親子関係が成立せず、構文エラーや無視につ ながる push: branches: [main] # ← 1 マス浅い • タブとスペースの混在も同様のトラブルを招きやすい branches: の行を push: と同じ深さ+ 1段に揃える 出典:GitHub Docs「Workflow syntax for GitHub Actions」 6
03 / リポジトリ設定 リポジトリ側の設定を整える • WHY コードが正しくても、権限やSecretsが未整備だと実行時エラーで止まる Actionsが有効になっているか • WHAT Actionsの有効化/Workflow permissions/Secrets・Variables/Environments • HOW Settings → Actions → General で権限を確認し、必要なSecretsを事前 登録しておく Workflow permissionsが意図した設定か 必要なSecrets/Variablesが登録済みか 環境ごとにEnvironmentsで分けられているか 出典:GitHub Docs「Secure use reference」「Using secrets in GitHub Actions」 7
落とし穴 03 権限エラーと Secrets名の不一致 • 「Resource not accessible by integration」 GITHUB_TOKENの権限不足が主な 原因 • Secretsの値が空になる 登録名とYAML内の参照名の表記が一致していない ケースが大半 • 対処 Settings画面の名前とYAMLの secrets.〇〇 を並べて見比べる習慣をつ ける Error: Resource not accessible by integration → permissions を確認 出典:GitHub Docs「Troubleshooting workflows」 8
04 / 発展 セルフホストランナーの基礎 • WHY GitHub-hostedで足りない場面(社内リソース/無料枠超過)で選択肢 になる • WHAT 専用の非rootユーザー/ランナー登録/systemdでの常駐化 • HOW root権限は付与せず、必要な範囲(例:dockerグループ)だけ権限を絞 る 最小権限の原則は OS側の運用にも同じく適用 出典:GitHub Docs「About self-hosted runners」 9
05 / 総合演習 自分用チェックリストを作ろう .github/workflows/ に正しく配置されているか 権限(permissions/Workflow permissions)を確認したか Secrets/Variablesの名前が一致しているか ローカルで構文チェック(actionlint等)を行ったか 出典:本教材セクション1〜3のまとめ 最低限この4つが揃えば つまずきの大半は防げる 10
WRAP-UP まとめと次の一歩 • .github/workflows/ の配置は複数形。最頻出の落とし穴として体に覚えさせる • VS Code+actionlintで、pushする前にミスを潰す習慣をつける • 権限エラーとSecrets名不一致は、設定画面とYAMLを並べて確認する • 最後は自分用チェックリストで、次のプロジェクトに備える うさうさ研修工房 面白きこともなき世を面白く🐰 出典:GitHub Docs「Actions」「Troubleshooting workflows」 11