Jenkinsを利用したCI/CDパイプラインの構築

本講義は、クラウドネイティブアプリケーションを構成する4つの核心要素(MSA、CI/CD、DevOps、Container)の一つであるCI(Continuous Integration、継続的インテグレーション)とCD(Continuous Deployment、継続的デプロイメント)パイプラインについて扱う講義です。本講義を通じて、CI/CDツールであるJenkinsを利用してローカル環境とクラウド環境に自分だけの自動化パイプラインを構築し、デプロイするために必要なプロセスを理解し、実習することができます。

難易度 初級

受講期間 無制限

Jenkins
Jenkins
CI/CD
CI/CD
Ansible
Ansible
Kubernetes
Kubernetes
SonarQube
SonarQube
Jenkins
Jenkins
CI/CD
CI/CD
Ansible
Ansible
Kubernetes
Kubernetes
SonarQube
SonarQube

学習した受講者のレビュー

学習した受講者のレビュー

4.7

5.0

이학준

60% 受講後に作成

本当のCI / CD講義だけでなく、個人的にはDocker + Kubernetesの最も基本的な知識も一緒に混ざっていてとても有益でした。 そして、現業で従事される方のマインドが見える講義なので、基礎ながらもすごく理解も上手く、助けもたくさん行いました。 講義をお悩みの方は無条件無条件無条件無条件無条件無条件無条件無条件無条件推薦します。

5.0

하보

27% 受講後に作成

こんにちは。本日オフラインでMSA現場講義を聞いた親企業に在職中の会社員です。最初は知りませんでしたが、声と名前を聞いたので、私が聞いた講義や講師様と同じくらい不思議でした。恥ずかしくて現場ではみことばができませんでした。良質の講義ありがとうございます。今後も良い講義をお願いします。

5.0

김재현

100% 受講後に作成

ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!

受講後に得られること

  • Jenkinsを利用してアプリケーションのビルドとパッケージング、デプロイプロセスについて学習できます。

  • CI/CD自動化パイプラインを通じて、様々な環境にアプリケーションをデプロイすることができます。

  • DockerとKubernetes環境にアプリケーションをデプロイする過程と、Ansibleを利用してサーバーの構成情報を制御する方法について学習できます。

トレンドはクラウドネイティブ!☁️
CI/CD自動化パイプラインを構築してみましょう。.

📢 受講前にご確認ください!

  • 学習環境によって講義オーディオが均一でない場合があります。セクション0~2の授業中に断続的なノイズ音が聞こえる可能性がありますので、受講前に講義[プレビュー]授業をご確認ください。

もしかして、皆さんのお悩みではありませんか?

開発を完了した成果物を本番サーバーにどのような方式でデプロイすべきでしょうか?

複数の環境に成果物をデプロイするには、デプロイ環境をどのように構成すればよいですか?

コンテナ仮想化環境でアプリケーションを構成するにはどうすればよいですか??

Kubernetes環境にアプリケーションをデプロイするにはどうすればよいですか??


DevOpsの核心、CI/CD
Jenkinsでより速く強力に!

Jenkins(ジェンキンス)とは?

継続的インテグレーション(CI)・継続的デプロイ(CD)を支援する自動化ツール、Jenkinsを利用して自動化パイプラインを直接構築することができます。

本講義は、CI/CD自動化ツールであるJenkinsを利用して、開発されたアプリケーションをビルドし、デプロイするために必要なプロセスについて理解し、自動化パイプラインを構築する過程です。講義で使用される20個の学習サンプルを通じて、受講生の皆さんは開発が完了したアプリケーションをビルド - テスト - デプロイするために必要な全過程について学習します。また、ローカルPCとクラウド環境に自分だけの自動化デプロイプロセスを直接構築することができます。

2010年代以降、ITシステムはResilient + Anti-Fragile + Cloud Nativeを核心キーワードとして発展してきました。DevOpsというIT文化が生まれ、クラウドネイティブアーキテクチャが導入され、システムはあらゆる環境でも柔軟性を持って対処できなければなりませんでした。アプリケーションを設計する際、マイクロサービスアーキテクチャ方式でドメインを分離して開発し始め、サービスは少なくとも数十個から多くて数百個以上に分割されることもありました。アプリケーションを構成する各サービスは個別に開発、ビルド、デプロイできる環境へと転換されました。DevOps環境では、サービスに対する改善および問題点を迅速に反映することが求められました。開発単位がより小さく構成され、デプロイもより頻繁に行われなければなりませんでした。

今や開発者や運用者が、1つのアプリケーションを構成する数十から数百のサービスを、いちいちビルドしてパッケージングし、デプロイする作業を手作業で処理できない規模になりました。システム自体の複雑性を除いても、アプリケーションを構成する各サービスをビルドしてデプロイする作業が1つの大きな業務になることもあり、作業負荷が深刻にかかる要素になってしまうこともあります。

今日、アプリケーションに対する継続的インテグレーション(CI)と継続的デプロイメント(CD)のための自動化パイプラインを構築することは、クラウドネイティブ環境でアプリケーションを開発するための必須不可欠な選択となりました。Gitからコードを取得し、ビルドを進め、テストケースを実行し、デプロイのためのパッケージを作成し、運用システムにデプロイする全過程が自動化プロセスによって進行されます。このような自動化プロセスは、より頻繁にビルドし、より頻繁にテストし、より頻繁にデプロイできる環境を提供することで、結果的にシステム品質の向上をもたらすことができます。

「Jenkinsを利用したCI/CDパイプラインの構築」講義では

前回の「Spring Bootを利用したRESTful WEB Services開発」と「Spring Cloudで開発するマイクロサービスアプリケーション(MSA)」の2つの講義を通じてWebアプリケーションとクラウドネイティブアプリケーションを開発できるガイドを提供したとすれば、今回の講義ではSpring Framework + Spring Bootで開発されたWebアプリケーションをローカル環境やクラウド環境にデプロイするために必要な自動化パイプラインを構築する過程を体験します。

本講座を通じて受講生の皆さんは、CI/CDに対する理解を基に開発されたアプリケーションを本番環境にデプロイするための自動化パイプラインを構築し、自分だけのデプロイプロセスを構築することができます。

一緒に見ると良い講義 📖

add_shortcode('course','325065,326544','list')


こんな方
おすすめします。

Webアプリケーションを
開発したことが
ある方

自分だけのCI/CD
自動化パイプラインを
構築したい方

本番サーバーに
アプリケーションを
コンテナ仮想化環境に
デプロイしたい方

CI/CD自動化
パイプラインを通じて
クラウド環境に
アプリケーションを
デプロイしたい方

✅ 受講後、このようなことができるようになります。

  • 継続的インテグレーションと継続的デプロイメントについて理解します。
  • ローカル環境で実習できるデプロイパイプラインを構築してみることができます。
  • 自分で直接作成したアプリケーション、または講義で提供されるサンプルWebアプリケーションを利用して、Tomcat WebサーバーとDocker仮想化環境にデプロイできる自動化パイプラインを構築できます。
  • 講義で提供されるサンプルスクリプトをもとに、自分だけのデプロイ環境を構築することができます。

学習内容
確認してみてください。

💡 CI/CD自動化パイプライン構築に必要な基本的な内容を学習し、実習コードを通じて直接デプロイプロセスを構築することができます。受講生の皆さんは、ご自身が使用する環境に合わせてローカル環境でのデプロイクラウド環境でのデプロイの両方を実習することができます。デプロイしたい運用環境にすぐ適用してテストできる25個あまりの実習例題を通じて、自分だけのデプロイ環境を構築することができます。*Windows、macOS(Intel Chip/Apple Silicon Chip)環境対応

Section 1 - DevOpsとCI/CD

  • DevOpsとCI/CDパイプラインについて学習します。

Section 2 - Jenkinsを利用したCI/CDの学習

  • CI/CDパイプライン構築のためのJenkinsをインストール、デプロイする方法を学習します。
  • Tomcat(トムキャット)ウェブサーバーとDocker(ドッカー)仮想化環境にデプロイする方法を学習します。

Section 3 - Jenkins + Infrastructure as Code

  • Infrastructure as Codeについて理解し、Ansible(アンシブル)サーバーを使用する方法について学習します。
  • JenkinsとAnsibleサーバーを連携する方法について学習します。

Section 4 - Jenkins + Ansible + Kubernetes 連携

  • 実習のためのKubernetesをインストールする方法について学習します。
  • JenkinsでAnsibleサーバーとKubernetesを連携してデプロイする方法について学習します。

Section 5 - Advanced Jenkins 使用 ① - Pipeline

  • Jenkins Pipelineの機能について理解します。
  • Jenkins Pipelineスクリプトを利用したプロジェクトをデプロイする方法について学習します。

Section 6: Advanced Jenkins 使用 ② - SonarQube, Multi nodes

  • Jenkinsマルチノードでデプロイする方法について学習します。
  • SonarQube(ソナーキューブ)システムと連携して使用する方法について学習します。

Section 7: 商用クラウド環境へのデプロイ

  • 商用クラウドにデプロイ環境を構成します。
  • AWS EC2サーバーにデプロイ環境で使用されるサービスをインストールし、デプロイする方法について学習します。

Section 8: 実習環境のための必須SW

  • 講義で使用されたSW、ツールのインストール方法について学習します。(Windows、MacOS)
  • クラウドサービスを使用するためのアカウント作成方法と仮想サーバーを生成する方法について学習します。

💾 学習関連の参考事項

  • 本講義はアプリケーションをデプロイするために必要な内容と過程について学習できるように構成されています。(受講に必要な事前知識は紹介ページ下段の[前提知識]及びQ&Aをご確認ください。)
  • 講義はmacOS環境で進行され、Windows環境の受講生のためのコマンドおよびスクリプトも一緒に提供しています。
  • 講義に必要な必須SWのインストールについての紹介をSection 9で説明しています。実習を進める前にSection 9を先に受講されることをお勧めします。
  • 강의에서 사용한 스크립트 및 코드는 아래 Github에서 확인하실 수 있습니다. 
    • https://github.com/joneconsulting/jenkins_pipeline_script
    • https://github.com/joneconsulting/jenkins_cicd_script

Q&A 💬

Q. 講義を受講するために必要な前提科目や知識にはどのようなものがありますか?

講義ではプログラミング的な部分についての説明はほとんど行いません。開発されたアプリケーションをローカル環境やクラウド環境にデプロイするために必要なプロセスと方法について基礎から学習します。加えて、Gitのような構成管理サービスの用途、Webアプリケーションに対する理解、仮想化サービスに対する理解をお持ちであれば、講義内容を理解するのに役立つと思います。

Q. 講義で使用される環境はどのようになっていますか?

本講義では、自分が開発したアプリケーションまたは講義で提供されるWebアプリケーションをデプロイするために、ローカル環境を使用しています。ローカル環境にインストールされたDocker Desktopを利用して、デプロイ自動化に必要なSWやシステム(Tomcat、SSHサーバー、Kubernetesなど)を構成しており、デプロイパイプラインを構築できるように例題を提供しています。さらに、講義後半では、ローカル環境に構築した内容をクラウド環境に構築して実習する部分も扱っています。本講義の実習はmacOS環境で進行していますが、Windowsユーザーのためのコマンドおよびスクリプトも一緒に提供しています。

Q. CI/CDの自動化デプロイに関する内容はどのレベルまで扱っていますか?

本講義は、継続的インテグレーション(CI)と継続的デプロイメント(CD)という概念を初めて接する方から、CI/CDパイプラインを通じてアプリケーションを運用サーバーにデプロイしようとする開発者まで実習できる20余りの実習コードを提供しています。講義で学習した内容をもとに、基本的なWebアプリケーションとマイクロサービスアプリケーションをデプロイするためのCI/CDパイプラインを構築することができます。Kubernetes Clusterを利用したJenkinsの使用や継続的なモニタリング、継続的なスケジューリングのための作業は「CI/CD自動化デプロイ上級コース(仮題)」を通じて準備中です。

今6,000名以上が受講している
MSA開発のノウハウが気になる方は?
平均評価4.8★累積受講レビュー500+

Spring Boot & Spring Cloud マイクロサービスアプリケーション開発ロードマップ (クリック)

こんな方に
おすすめです

学習対象は
誰でしょう?

  • CI/CDを利用してアプリケーションをデプロイしたい人

  • Spring BootアプリケーションをDockerとKubernetesにデプロイするために自動化ビルド環境を構築しようとする人

  • IaCを利用してアプリケーションが運用されるサーバーの構成情報を管理しようとする人

  • CI/CD自動化デプロイツールとしてJenkinsを使用しようとする人

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

  • アプリケーションのビルドとデプロイに関する理解

  • コンテナ仮想化技術に関する概念

  • Webアプリケーションに対する理解

こんにちは
Dowon Leeです。

30,178

受講生

1,672

受講レビュー

1,373

回答

4.8

講座評価

8

講座

私はITエンジニアです。いつか職業欄に「会社員?」「開発者?」「講師?」どの言葉を選ぶべきか悩んだ時期がありました。そんな中、ITエンジニアという表現が自分にしっくりくる職業名だと思い、今でも職業欄には「ITエンジニア」と書いています。

職業とは自分の仕事を表すものであり、仕事とは楽しくて、誰かの役に立つものであってほしいと考えています。誰もが望み通りに仕事をしながら生きていけるわけではありませんが、私は今自分がしているこの仕事が好きで、もっと上手くなりたいと思っている人間です。開発者として、講師として、コンサルタントとしての役割を果たしながら、次々と新しく登場し変化するIT新技術を追いかけるのに精一杯ではありますが、それでも他の誰よりも少しでも早く触れ、広め、活用したいと願う一人です。

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

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

 

 

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

  • ) 東国大学校 国際情報大学院 情報保護学科 客員教授

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

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

 

 

もっと見る

カリキュラム

全体

85件 ∙ (15時間 29分)

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

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

受講レビュー

全体

227件

4.7

227件の受講レビュー

  • qkrehdrb08136616님의 프로필 이미지
    qkrehdrb08136616

    受講レビュー 3

    平均評価 5.0

    5

    9% 受講後に作成

    gradle の例はありませんか?

    • najh05283457님의 프로필 이미지
      najh05283457

      受講レビュー 2

      平均評価 5.0

      5

      100% 受講後に作成

      Jenkinsが何であるか、どのように書くかを確かに学ぶことができました。おまけでドッカー、k8sまでも。最近は、MavenビルドよりもGradleビルドをもっと使う傾向にあるだけに、Gradleビルドが例だったらもっと良かったと思います!

      • pandabears님의 프로필 이미지
        pandabears

        受講レビュー 51

        平均評価 5.0

        5

        25% 受講後に作成

        長く待ちました。 今回の講義も気軽に見てWebFlux講義まで呼吸します!

        • kenneth
          知識共有者

          こんにちは、WebFlux講義の準備中です。今年中にオープンできるよう、お早めに仕上げさせていただきます。

      • jaehyoni님의 프로필 이미지
        jaehyoni

        受講レビュー 1

        平均評価 5.0

        5

        100% 受講後に作成

        ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!

        • hyunybutterchip님의 프로필 이미지
          hyunybutterchip

          受講レビュー 4

          平均評価 4.8

          4

          78% 受講後に作成

          ドッカーとCI/CDを学習するのに本当に良い講義だと思います。 おすすめですが残念な部分が多かったです。 1. 間違って言われるのがよくある。 8080ポートを8088に変えて話す 2. 環境設定セクションも別にあり講義もあるということについての説明がなくて混同を与える。 3. 講義と環境設定 講義があまりに別にあるので、行き来するというのが不便だ。 あらかじめ設定しておけばいいのではないかと思うかもしれませんが、設定してみたらコンテナを使わないとメモリを無駄にして速度だけ落ちるので非効率的でした。 4. コースの半分程度が環境設定がすぐにならず、進度が遅れる トラブルシューティングももちろん良いと思いますが、基本講義のせいで早く学習し、本人が実習しながらトラブルシューティングするのが効率的ではないかと思います。 5.コミュニティに答えをほとんどしないでください。 練習する上で多くの人がエラーを経験していますが、単純な質問にだけ答えをつけてくれるようですね。 川の価格は決して安い方ではありません。 コースは本当に良いですが、全体的に現行化が必要だと思います。

          • kenneth
            知識共有者

            こんにちは、離島院です。フィードバックいただいた内容はレッスンの更新時にぜひ!反映させていただきます。講義の性質上、コンテナの実行 VM の実行には多くのリソースが必要な場合や、複数の Host PC が必要な場合が多い。したがって、可能であれば、受講生の方が実習環境に対する負担や困難を軽減しようとするDind方式や、別途のVM設定関連講義を準備しました。レッスンで使用されているすべてのスクリプトとサンプルコードは、Windows10、Windows 11、MacOS Inter chip(2018)、MacOS M1 chip(2022)バージョンでテストされていますが、いくつかの受講生は実行に困難があることを知っています。今後、このようなインフラ関連講義には、もう少し多様な環境でのテストを提供したり、インフラ講義以外のプログラミング講義に専念(?)しなければならないという考えをしたりもしました。 ^^;コミュニティーアップという質問にもすぐに確認できず、回答できなかったことも申し訳ありません。昨年からAIの回答が追加されており、すぐに通知を確認できなかった点やプロジェクトに押されて回答をすぐにできなかったことも事実です。それでも、受講してくださる方には個人的な状況がありますので、すぐに応対に差し上げるよう努力いたします。ありがとうございました。

        Dowon Leeの他の講座

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

        似ている講座

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

        期間限定セール、あと7日日で終了

        ¥48

        29%

        ¥10,734