第6章 自動テストと自動配備

ページ 3 / 3

01/ 03Git・GitHub

自動テストと自動配備

マージを引き金に、検査・ビルド・stg 配備まで仕組みが運ぶ(GitHub Actions)

読了目安 約 2実践
読みはじめる
この記事の要約

main に合流した変更は、GitHub Actions が自動でテスト・ビルドを通り、リハーサル環境(stg)まで運ばれます。人がやるのはマージまで ── 途中の検査で落ちれば配備されず、環境は元のまま守られます。

  • マージが自動配備の引き金になる
  • テストという関所を通らなければ配備されない
  • 本番へはもう一段、人の承認で昇格する(次章)

マージした変更はどう届けられる?

5SLAB では、配備を人の手作業にしていません。手順書どおりに人が操作する方式は、抜け漏れや「担当者しかできない」を生みがちだからです。仕組みに任せると配備は日常の作業になり、小さな変更を頻繁に安全に届けられるようになります。

はいいいえはいいいえ
マージ
検査
配備
開発者あなた / レビュアー
GitHubリモートリポジトリ
GitHub ActionsCI / CD(自動実行)
stg 環境リハーサル環境
PR を承認して main へマージ
main の更新を検知
ワークフローが自動起動
テスト&型チェックは合格?品質の関所
配備用にビルド配布できる形に固める
デプロイ中止・原因を通知環境は元のまま
stg 環境へ反映
公開後の稼働チェック OK?ちゃんと動くか確認
自動で切り戻し・通知前の版に戻す
stg 反映完了・確認できる状態に実物を確かめられる

各工程・分岐・レーンをクリックすると、その仕組みの説明がここに表示されます。

この図をテキストで読む

業務フロー図「GitHub Actions で自動配備」。レーン4本、工程10個。 【レーン(担当)】(左から右) - 開発者: あなた / レビュアー - GitHub: リモートリポジトリ - GitHub Actions: CI / CD(自動実行) - stg 環境: リハーサル環境 【工程】(上から下へ。担当 → 工程名) ── フェーズ: マージ ── 1. 開発者: PR を承認して main へマージ〔開始・終了〕 2. GitHub: main の更新を検知 ── フェーズ: 検査 ── 3. GitHub Actions: ワークフローが自動起動 4. GitHub Actions: テスト&型チェックは合格?〔分岐〕(品質の関所) はい → 配備用にビルド いいえ → デプロイ中止・原因を通知 5. 開発者: デプロイ中止・原因を通知〔開始・終了〕(環境は元のまま) 6. GitHub Actions: 配備用にビルド(配布できる形に固める) ── フェーズ: 配備 ── 7. stg 環境: stg 環境へ反映 8. GitHub Actions: 公開後の稼働チェック OK?〔分岐〕(ちゃんと動くか確認) はい → stg 反映完了・確認できる状態に いいえ → 自動で切り戻し・通知 9. GitHub Actions: 自動で切り戻し・通知〔開始・終了〕(前の版に戻す) 10. stg 環境: stg 反映完了・確認できる状態に〔開始・終了〕(実物を確かめられる)

左端のレールが「マージ → 検査 → 配備」の 3 段階。

止まるのは失敗ではなく安全装置

テストで止まって配備されない ── これは事故ではなく、壊れたものが配備される前に安全装置が働いた状態です。環境は元のまま保たれます。直してもう一度マージすれば、何度でもやり直せます。

押さえておきたい用語

GitHub Actions
push やマージをきっかけに、決めた手順を自動で実行する GitHub の仕組み。
ワークフロー
自動実行する手順書。テスト → ビルド → 配備の段取りをコードで書いておきます。
CI / CD
自動テスト(CI)と自動デリバリー(CD)の総称。品質の関所と配達係を兼ねます。
スモークテスト
配備した直後に実際にアクセスして「ちゃんと動くか」を確かめる仕上げの検査。
ロールバック
異常が出たとき 1 つ前の版へ戻すこと。自動で行われ、利用者への影響を抑えます。
ページ 3 / 3