最終曎新:

【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ワヌクフロヌの党䜓像
ひよこ ひよこ

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

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

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

ひよこ ひよこ

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

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

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

ひよこ ひよこ

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

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

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

ひよこ ひよこ

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

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

倧きく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ブランチぞのマヌゞ時に自動デプロむ、ずいった具合にステップを远加しおいけばいいよ。小さく始めお育おおいくのがコツだね。