JenkinsとArgoCDで学ぶ実践GitOps CI/CD

Jenkinsベースの従来型CI/CDに加え、ArgoCDを活用したGitOpsデプロイまで扱います。JenkinsとArgoCDを組み合わせ、dev・staging・productionの各環境に応じたCI/CD・GitOpsデプロイ戦略を自ら設計・実装します。 Push型のJenkinsとPull型のArgoCDを併せて扱い、同一クラスター上で両方式を直接比較しながら、実務的なハイブリッドデプロイパイプラインを完成させます。 Canary、Blue-Green、RBAC、承認プロセス、障害対応、自動ロールバックまで、運用に必要な主要なデプロイ技術を実践的に学習します。

99名 が受講中です。

難易度 初級

受講期間 無制限

Docker
Docker
Jenkins
Jenkins
Kubernetes
Kubernetes
CI/CD
CI/CD
backend
backend
Docker
Docker
Jenkins
Jenkins
Kubernetes
Kubernetes
CI/CD
CI/CD
backend
backend

受講後に得られること

  • 環境ごとに異なるデプロイ戦略を自ら設計するための判断フレームワーク

  • 実際に動作する、私だけのGitOpsインフラ一式

  • デプロイに関する面接・実務上の質問に根拠を持って答える能力

JenkinsとArgoCDを個別に学ぶのではなく、dev・staging・production環境に合わせて組み合わせる実践的なCI/CD戦略を学びます。😏

dev・staging・production、環境ごとに異なるデプロイ戦略を自ら設計する方法

「デプロイはできるけれど、これが正しい方法なのか分からない。」

JenkinsでCI/CDを構築したことはあるものの、今の方法が正しいのか確信が持てなかったり、ArgoCDやGitOpsを学んだものの、実際のプロジェクトでどのように適用すればよいのか途方に暮れたことはありませんか?

この講義は、Jenkinsの使い方とArgoCDの使い方をそれぞれ学ぶだけでは終わりません。

開発(dev)、ステージング(staging)、本番(production)環境の特性に応じてどのデプロイ方式を選択すべきかを判断し、JenkinsとArgoCDを組み合わせて実際に動作するCI/CD・GitOpsパイプラインを設計する方法を扱います。

講義をすべて終えると、皆さんのコンピューターには単なる実習例ではなく、

dev・stagingはJenkinsベースのPushデプロイ、productionはArgoCDベースのPullデプロイで運用されるハイブリッドGitOpsパイプラインが実際に動作する形で完成します。


ハイブリッドパイプライン

この講義の特徴

📌 JenkinsとArgoCDを別々に学ぶことはありません

ほとんどのCI/CD講座では、Jenkinsを学ぶとJenkinsだけを使い、ArgoCDの講座ではArgoCDだけを使います。

しかし実務では、1つのツールだけを使用するよりも、環境や組織の特性に応じて複数の方式を組み合わせるケースが多くあります。

この講義では、次のようなハイブリッド構成を実際に実装します。

  • Developer → Git → Jenkins → dev / staging

  • Developer → GitOps Repository → ArgoCD → production

つまり、dev・stagingでは迅速なPushベースのデプロイ、productionではGitを基準に状態を管理するPullベースのGitOpsデプロイという異なる戦略を、1つのシステムとして連携させます。

📌 Docker Desktopひとつで実習環境を完成させます

AWS、Azure、GCPのような別途クラウド環境は必要ありません。

個人のコンピューターのDocker Desktop環境で

  • Kubernetes/

    Jenkins/

    ArgoCD/

    Argo Rollouts


環境を自分で構築します。別途クラウド費用をかけずに、CI/CDとGitOpsの全体的な流れを体験できるよう設計しています。

📌 1つのSpring Bootサービスを最後まで発展させます

セクションごとに新しい例を使用する代わりに、Spring Bootベースのproduct-service 1つを講義全体で継続して使用します。

最初はシンプルな Spring Boot API から始めますが、その後 Docker Image → Kubernetes Deployment → Kustomize → Jenkins Pipeline → ArgoCD → GitOps → Canary Deployment → 自動ロールバック まで段階的に発展させていきます。

そのため、新しい技術が登場するたびにサンプルプロジェクトを改めて理解しなければならない負担が少なくなります。

📌デプロイだけでなく運用と権限まで扱います

実際の CI/CD 環境では、「デプロイできる」というだけでは十分ではありません。

  • 誰が開発環境にデプロイできるのか、

  • 誰が運用環境を変更できるのか、

  • 誰がproductionへのデプロイを承認すべきかも重要です。

このような作業のために本講義では

  • Jenkins Role Strategy/

    Jenkins Credentials/

    Approval Gate/

    ArgoCD RBAC/

    AppProject

まで一緒に見ていきます。CI/CDを単なる自動化ツールではなく、運用システムの一部として設計する方法を学びます。

このような方におすすめです

バックエンド開発者

Spring Bootでアプリケーションは開発できるものの、デプロイプロセスでは他の人が構築したパイプラインを使ってきた方におすすめです。

インフラ・DevOps担当者

新しいプロジェクトのCI/CD環境を構築する方や、既存のJenkins中心のデプロイ環境をGitOps方式へ移行する必要がある方におすすめです。

IT運用担当者

JenkinsとArgoCDのRBAC構造やデプロイ履歴の管理方法まで併せて扱い、CI/CDポリシーを協議するために必要な基本構造を理解できます。

受講後には

  • dev/staging/productionそれぞれの環境に適したデプロイ戦略を、根拠に基づいて設計できるようになります。

  • ArgoCDのApplicationからApp of Apps、ApplicationSet、RBACまで実務レベルで扱えるようになります。

  • Canaryデプロイと自動ロールバックを自ら実装し、実際の障害状況に対応した経験を得られます。

  • 自分のプロジェクトに、最低限のデプロイ戦略と承認手順、ロールバック計画を自ら立てて適用できるようになります。

このような内容を学びます。

JenkinsベースのCI/CDパイプラインを自ら構築します

単純なJenkins Jobの実行にとどまらず、実際のCI/CD Pipelineを構築します。Jenkinsが単なる「ビルドサーバー」ではなく、CI/CD Orchestratorとしてどのように動作するのかを理解できるようになります。

ArgoCDとGitOpsの動作原理を理解します

GitOpsにおける最も重要な問いは「なぜGitを運用環境の基準にすべきなのか?」です。ArgoCDの画面でSyncボタンを押すだけのレベルを超え、実際のプロジェクト構成を設計できるように構成しました。

Jenkins + ArgoCDハイブリッドGitOpsを設計します

すべての環境に同じデプロイ方式を使用するのではなく、dev → Jenkins Push、staging → Jenkins Push、production → ArgoCD Pull 方式を適用します。

Canary・Blue-Green・自動ロールバックまで体験します

Argo Rolloutsを利用して、Canary Deploymentへの切り替え、Rollback、Blue-Green Deploymentを実践します。

この講義を作った人

"頭の中の知識は知識ではない。"という考えのもと、私が持っている小さな経験や知識をうまく整理し、より理解しやすく説明できるよう努めています。JavaとSpring Frameworkの技術を基盤に、LLMやAI分野にも関心を持っている方であれば、より理解しやすい講義になると思います。

  • 26年間にわたる講義、コンサルティングおよび開発の経験をもとに、実務的な経験とノウハウを理解していただくための説明を交えながら講義を行っています。

  • アーキテクト・エンジニアとしての現在:GraphRAGベースのナレッジグラフシステムとエンタープライズAIプラットフォームを自ら設計・開発しています。

    • 2023年~現在:株式会社エンジェイワンカンパニー代表取締役


    • 現)東国大学校国際情報大学院情報保護学科特任教授

    • 前) JP Morgan Chase AMJ Tech consultant (日本)

    • 前) Samsung SDS CMS事業本部 主任エンジニア

  • 金融業界のAI/LLMプロジェクトを遂行:AI・LLM関連の金融業界プロジェクトを複数回遂行し、信頼性と安定性が特に重要な金融ドメインにおいて、LLMサービスを設計・実装する実務経験を積みました。

  • 長年にわたるMSA・クラウドネイティブ・AI講義:Spring Boot、Spring Cloud、MSA、Kafka、Blockchain、Machine Learning、Deep Learning、DevOpsの分野で講義を行っています。

  • 企業研修およびカリキュラム設計:クラウド/MSA/セキュリティ/AIコースなど、数多くの企業・ブートキャンプ向けカリキュラムを設計し、自ら講義を行ってきました。理論だけにとどまらず、実際のプロジェクト遂行経験を講義に生かすことを原則としています。

受講前の参考事項

実習環境

  • 講義はMacOS(Sequoia 15.7.4を基準に説明しますが、Windows OSをご利用の方も簡単に進めていただけます。

  • 講義ではOpenJDK 17+を基盤に、Visual Studio Codeを使用して実習を行います。

  • ビルドツールとしてGradleを使用します。

  • 実習に必要なJenkinsとArgoCDのインストールは、講義中に行います。


学習教材

  • セクションごとのスライド資料を提供(PDFファイル)

  • 実行可能なSpring Bootサンプルプロジェクト

  • Kubernetesマニフェストファイルの提供(Githubリポジトリを提供)

前提知識および注意事項

  • 必須ではありませんが、以下の2つがあるとよりスムーズです。

    • Spring Bootで簡単なREST APIを作成した経験(必須ではなく、コード自体よりもデプロイ対象として活用)

    • Gitの基本的な使い方(clone、commit、push)とターミナルの使用に抵抗がないこと

  • DockerやKubernetesについては、ごく基礎的な用語(コンテナ、Pod程度)を聞いたことがあるだけでも十分です。

    • Section 1~2で必要な概念とインストールを最初から一緒に進めるため、Kubernetesを一度も使ったことがない方でもついてこられるように設計しています。ただし、Kubernetes自体に初めて触れる方は、コンテナオーケストレーションの基本概念程度は事前に軽く予習しておくことをおすすめします。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • 「Docker Imageまでは作れるが、Kubernetes以降が難しい」というバックエンド開発者

  • "既存のCI/CD環境からGitOpsへどのように段階的に移行するか"を検討しているインフラ・DevOps担当者

  • 「デプロイ承認/運用権限/障害復旧/変更履歴」を理解する必要があるIT運用担当者

前提知識、
必要でしょうか?

  • Gitの基本的な使い方

  • 基本的なターミナルの使用経験

  • Dockerコンテナに関する基礎知識

こんにちは
Dowon Leeです。

インフラン認証

31,791

受講生

1,779

受講レビュー

1,383

回答

4.8

講座評価

10

講座

私はITエンジニアです。以前、いつか職業欄に"会社員?"、"開発者?"、"講師?"のどの言葉を選ぶべきか悩んだことがありました。そこで、ITエンジニアという表現が自分に最も合う職業名だと思い、今でも職業欄には"ITエンジニア"と記入しています。

職業というのは自分の仕事を表すものであり、仕事というのは楽しく、誰かの役に立つものであればよいと思っています。誰もが皆、思いどおりの仕事をしながら生きていけるわけではありませんが、私は自分がしているこの仕事が好きで、うまくできるようになりたいと思っている人間です。開発者として、講師として、コンサルタントとしての役割を果たしながら、次々と新しく発表され、変化していくITの新技術についていくのに精いっぱいではありますが、それでも、誰よりも少しでも早く触れ、広め、使ってみたいと思っている人の一人です。

最近関心を持っている分野はオンライン教育コンサルティングです。また、関心のある技術は Cloud Native Architecture、Blockchain、Machine Learning、Kafka、Kuberbetes などです。これらの技術については実際に講義も行っており、業務に適用して使用もしています。しかし、あまりにも広大なテーマであるため、今でも引き続き勉強しています。

頭の中に持っているだけでは、真の知識とは言えないと言われています。私は、自分が持つ知識と経験をさまざまな方法で共有していきたいと思います。そして、新しい分野や新しい技術に挑戦し続けるITエンジニアであり続けます。

 

 

  • 現) エンジェイワンカンパニー代表

  • 現) 東国大学校 国際情報大学院 情報保護学科 特任教授

  • 前) JP Morgan Chase AMJ Tech consultant(日本)

  • 前) サムスンSDS CMS事業本部 責任エンジニア

 

 

もっと見る

カリキュラム

全体

94件 ∙ (10時間 40分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

まだ十分な評価を受けていない講座です。
みんなの役に立つ受講レビューを書いてください!

Dowon Leeの他の講座

知識共有者の他の講座を見てみましょう!

似ている講座

同じ分野の他の講座を見てみましょう!

期間限定セール

¥4,809

50%

¥9,618