GitOps入門|インフラをGitで管理してデプロイを自動化する実践ガイド

現場実践|GitOps・IaCの実践
GitOps入門|インフラをGitで管理してデプロイを自動化する実践ガイド
「GitOpsって何?」「ArgoCDって使う必要があるの?」——GitOpsの考え方・Gitをシングルソースオブトゥルース(SSoT)にする方法・ArgoCD・Fluxを使ったKubernetesへの自動デプロイを解説します。
💡 GitOpsは「インフラの望ましい状態をGitで管理して、Gitへのマージが自動的に本番に反映される」仕組みです。手動のkubectl applyがなくなり、Gitが全ての変更の唯一の真実の源(SSoT)になります。
1. GitOpsの基本的な仕組み
1
開発者がコードをGitHubにプッシュ
アプリケーションコードの変更をPRでmainブランチにマージする。
2
CI(GitHub Actions等)がイメージをビルド・ECRにプッシュ
GitHub ActionsがDockerイメージをビルドしてECR(またはDockerHub)にプッシュする。イメージタグにGitのコミットSHAを使う。
3
マニフェストリポジトリのイメージタグを更新
アプリのリポジトリとは別の「マニフェストリポジトリ」のKubernetes YAMLのイメージタグを新しいバージョンに更新する。
4
ArgoCDがGitの変更を検知して自動デプロイ
ArgoCDがマニフェストリポジトリの変更を監視して、Gitの状態とKubernetesクラスターの状態を自動的に同期させる。
2. ArgoCDの設定例
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: my-app
namespace: argocd
spec:
project: default
source:
repoURL: https://github.com/myorg/manifests.git
targetRevision: main
path: apps/my-app/overlays/production
destination:
server: https://kubernetes.default.svc
namespace: production
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=truesyncPolicy.automatedを設定するとGitへのマージが自動的にKubernetesに同期されます。selfHeal=trueで手動変更があった場合もGitの状態に自動修正されます。
3. GitOpsの利点
変更の完全な監査証跡
全てのインフラ変更がGitのコミット履歴として残る。「いつ・誰が・何を変更したか」が完全に追跡できる。
即座なロールバック
問題が発生したらGitのrevertで即座にロールバックできる。ArgoCDが自動的に前の状態に戻してくれる。
PRレビューでの変更管理
インフラの変更もアプリのコードと同様にPRでレビューしてからマージする運用が実現できる。
📌 この記事のポイント
- GitOpsはGitをSSoT(唯一の真実の源)として全てのインフラ変更をGit経由で管理するアプローチ
- ArgoCDのsyncPolicy.automatedでGitへのマージが自動的にKubernetesに反映される
- 全変更がGit履歴に残る・PRでレビュー・Gitのrevertで即座ロールバックがGitOpsの3大利点
キャリアの疑問、一緒に解決しませんか?
Infra Academyでは、インフラ系ITエンジニアを目指す方への個別サポートを行っています。2026年7月からフリーランス講師として本格始動予定です。
【編集・制作ポリシー】
本記事はRoute Bloom編集部が各ベンダー公式ドキュメント・エンジニア監修をもとに作成しています。インフラ・クラウド構築は環境により異なります。本番環境への適用前に必ずテストを実施してください。情報の正確性には万全を期していますが、最新情報は各公式ドキュメントをご確認ください。 編集ポリシーはこちら
本記事はRoute Bloom編集部が各ベンダー公式ドキュメント・エンジニア監修をもとに作成しています。インフラ・クラウド構築は環境により異なります。本番環境への適用前に必ずテストを実施してください。情報の正確性には万全を期していますが、最新情報は各公式ドキュメントをご確認ください。 編集ポリシーはこちら
ABOUT ME




