강의

멘토링

로드맵

Inflearn brand logo image
BEST
Programming

/

Devops & Infra

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

この講義は、クラウドネイティブアプリケーションを構成する4つの主要要素(MSA、CI/CD、DevOps、コンテナ)の1つであるCI(継続的統合)とCD(継続的展開)パイプラインについて扱う講義です。この講義では、CI/CDツールであるJenkinsを使用して、ローカル環境とクラウド環境に独自の自動化パイプラインを構築し、展開するために必要なプロセスを理解し、実践することができます。

  • Dowon Lee
Jenkins
CI/CD
Ansible
Kubernetes
SonarQube

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

こんなことが学べます

  • Jenkins を使用して、アプリケーションのビルド、パッケージ化、および配布プロセスについて学習できます。

  • CI/CD 自動化パイプラインを使用すると、さまざまな環境にアプリケーションをデプロイできます。

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

大勢はクラウドネイティブ! ☁️
CI/CDオートメーションパイプラインを構築してみてください。

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

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

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

開発を完了した結果をオペレーティングサーバーにどのように展開する必要がありますか?

複数の環境に結果をデプロイするには、デプロイメント環境をどのように構成する必要がありますか?

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

キューバネティス環境にアプリケーションをデプロイするにはどうすればよいですか?


デブオプスの核心、CI/CD
Jenkinsでより速く、強力に!

ジェンキンス(Jenkins)?

持続的統合(CI)・持続的配布(CD)を支援する自動化ツール、Jenkinsを利用して自動化パイプラインを直接構築できます。

このレッスンは、CI / CDオートメーションツールであるJenkinsを使用して開発されたアプリケーションを構築およびデプロイするために必要なプロセスを理解し、自動化パイプラインを構築するプロセスです。講義で使用されている20の学習サンプルを使用して、受講生は開発が完了したアプリケーションをビルド、テスト、デプロイするために必要なすべてのコースを学びます。また、ローカルPCとクラウド環境に独自の自動化展開プロセスを直接構築してみることができます。

2010年代以降、ITシステムはResilient + Anti-Fragile + Cloud Nativeをコアキーワードに発展してきました。 DevOpsというIT文化が生まれ、クラウドネイティブアーキテクチャが導入され、システムはどんな環境でも柔軟性で対処できる必要がありました。アプリケーションを設計する際に、マイクロサービスアーキテクチャの方法でドメインを分離して開発を開始し、サービスは少ない数十から多くは数百以上に分けられました。アプリケーションを構成する各サービスは、個別に開発、ビルド、デプロイできる環境に移行しました。 DevOps環境では、サービスの改善と問題をすばやく反映するように求められています。開発ユニットはより小さく構成され、展開もより頻繁に進む必要がありました。

これで、開発者やオペレータが1つのアプリケーションを構成する数十から数百のサービスを、いつもビルド、パッケージ化、デプロイする作業を手作業で処理できない規模になりました。システム自体の複雑さを離れ、アプリケーションを構成する各サービスをビルドしてデプロイする作業が一つの大きな業務になることもあり、作業負荷がひどくかかる要因になってしまうこともあります。

今日、アプリケーションへの継続的な統合(CI)と継続的な展開(CD)のための自動化パイプラインを構築することは、クラウドネイティブ環境でアプリケーションを開発するための不可欠な選択になりました。 Gitからコードをインポートし、ビルドを実行し、テストケースを実行し、配布用のパッケージを作成し、オペレーティングシステムに配布するすべてのプロセスが自動化プロセスによって行われます。これらの自動化プロセスは、より頻繁に構築し、より頻繁にテストし、より頻繁に展開できる環境を提供することで、最終的にはシステム品質の向上をもたらすことができます。

「Jenkinsを利用したCI/CD Pipeline構築」講義では

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

今回の講義を通じて、受講生の皆さんはCI/CDに対する理解に基づいて開発されたアプリケーションを運用環境に配備するための自動化パイプラインを構築し、独自の配備プロセスを構築してみることができます。

一緒に見ればいい講義📖


こんな方々
おすすめです。

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

独自のCI/CD
自動化パイプライン
構築したい方

運用サーバーへ
アプリケーション
コンテナ仮想化環境へ
配布したい方

CI/CD自動化
パイプライン経由
クラウド環境へ
アプリケーション
配布したい方

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

  • 継続的な統合と継続的な展開について理解します。
  • ローカル環境で実践できる展開パイプラインを構築してみてください。
  • 自分で作成したアプリケーションやレッスンで提供されるサンプルWebアプリケーションを使用して、Tomcat WebサーバーとDocker仮想化環境にデプロイできる自動化パイプラインを構築できます。
  • レッスンで提供されるサンプルスクリプトに基づいて、独自の展開環境を構築できます。

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

💡 CI/CDオートメーションパイプラインの構築に必要な基本的な内容を学習し、実習コードを通じて直接配布プロセスを構築してみることができます。受講者は、自分が使用する環境に合わせて、ローカル環境での展開クラウド環境での展開の両方を実践してみることができます。デプロイしたいオペレーティング環境に直接適用してテストできる25以上の実践例を使用して、独自のデプロイメント環境を構築できます。 *Windows、macOS(Intel Chip/Apple Silicon Chip)環境サポート

セクション1 - DevOpsとCI / CD

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

セクション2 - Jenkinsを使用したCI / CD学習

  • CI / CDパイプラインを構築するためのJenkinsをインストールして展開する方法を学びます。
  • Tomcat(トムキャット)WebサーバーとDocker(ドッカー)仮想化環境に展開する方法を学びます。

セクション 3 - Jenkins + Infrastructure as Code

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

セクション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(ソナキューブ)システムと連携して使用する方法を学びます。

第7章:商用クラウド環境にデプロイする

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

Section 8: 練習環境に必要な SW

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

💾学習に関する注意事項

  • このレッスンは、アプリケーションをデプロイするために必要な内容とプロセスについて学習できるように構成されています。 (受講に必要な事前知識は、紹介ページ下部の「選手知識」およびQ&Aをご確認ください。)
  • 講義はmacOS環境で行われ、Windows環境の受講生のための命令やスクリプトも一緒に提供しています。
  • 講義のための必須 SW インストールの紹介を Section 9 で説明しています。実習進行に先立ち、Section 9を先に受講することをお勧めします。

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 アプリケーションの理解

こんにちは
です。

29,298

受講生

1,560

受講レビュー

1,352

回答

4.8

講座評価

8

講座

저는 IT 엔지니어입니다. 언젠가 직업란에 "회사원?", "개발자?", "강사?" 어떤 단어를 선택해야 할 지 고민이 되었던 때가 있었습니다. 그러다가, IT 엔지니어라는 표현이 제가 잘 어울리는 직업명이라는 생각이 들어 지금까지도 직업란에는 "IT 엔지니어"라고 적고 있습니다.

직업이라는 것은 자신의 일을 나타내는 것이고, 일이라는 것은 재미있고, 도움이 되는 일이면 좋겠다는 생각을 가지고 있습니다. 누구나 다 원하는대로 일을 하며 살수는 없지만, 저는 제가 하는 있는 이 일을 좋아하는 있고, 잘하고 싶어하는 사람입니다. 개발자로써, 강사로써, 컨설턴트로써의 역할을 해 오면서, 매번 새롭게 출시되고 변화하는 IT 신기술을 따라가기에 급급하지만, 그래도, 남들보다 조금이라도 먼저 접하고, 전파하고, 사용하고 싶은 사람 중 한명입니다. 

최근 관심을 가지고 있는 분야는 온라인 교육 컨설팅입니다. 그리고 관심있는 기술은 Cloud Native Architecture, Blockchain, Machine Learning, Kafka, Kuberbetes 등입니다. 이러한 기술은 실제로 강의도 하고 있고 업무에 적용해서 사용도 하고 있습니다. 하지만, 워낙 방대한 주제이다 보니, 아직까지도 계속 공부하고 있습니다.

머리속에 가지고 있는 것은 진정한 지식이 아니라고 합니다. 저는 제가 가진 지식과 경험을 다양한 방벙을 통해 공유하려 합니다. 그리고, 새로운 분야, 새로운 기술에 계속 도전하고 있는 IT 엔지니어가 될 것입니다.  

 

 

  • ) 엔제이원컴퍼니 대표 

  • ) 동국대학교 국제정보대학원 정보보호학과 대우교수

  • ) JP Morgan Chase AMJ Tech consultant (일본)

  • ) 삼성 SDS CMS 사업본부 책임 엔지니어

 

 

カリキュラム

全体

85件 ∙ (15時間 29分)

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

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

受講レビュー

全体

205件

4.7

205件の受講レビュー

  • najh0528님의 프로필 이미지
    najh0528

    受講レビュー 2

    平均評価 5.0

    5

    100% 受講後に作成

    Jenkins가 뭔지, 어떻게 쓰는지 확실히 배울 수 있었습니다. 덤으로 도커, k8s까지도요. 요즘은 Maven 빌드보단 Gradle빌드를 더 많이 쓰는 추세인 만큼 Gradle 빌드가 예제였으면 더 좋았겠단 생각이 들긴 합니다!

    • hyun님의 프로필 이미지
      hyun

      受講レビュー 4

      平均評価 4.8

      4

      78% 受講後に作成

      도커와 CI/CD를 학습하기에 정말 좋은 강의라고 생각합니다. 추천하지만 아쉬운 부분이 많았습니다. 1. 잘못 말하시는 게 잦다. 8080 포트를 8088로 바꿔 말하신다던지 2. 환경설정 섹션도 따로 있고 강의도 있다는 거에 대한 설명이 없어서 혼동을 준다. 3. 강의와 환경 설정 강의가 너무 따로 있다보니 왔다갔다하는 게 불편하다. 미리 다 세팅하면 되지 않냐 할 수도 있지만 세팅해 봤자 컨테이너 사용 안하면 메모리 낭비하고 속도만 떨어지기 때문에 비효율적이었습니다 4. 과정 중 절반 정도가 환경 설정이 바로 안되서 진도가 지체됨 트러블 슈팅도 물론 좋다고 생각하지만 기본 강의기때문에 빨리 학습하고 본인이 실습하면서 트러블슈팅하는 게 효율적이지 않나 생각합니다 5. 커뮤니티에에 답을 거의 안 해주심 실습하는 데 있어 많은 사람들이 에러를 겪고 있는데 단순 질문에만 답변을 달아주시는 것 같네요. 강의 가격이 결코 저렴한 편은 아닌데 말이죠 과정은 정말 좋으나 전반적으로 현행화가 필요할 것 같다고 생각합니다.

      • Dowon Lee
        知識共有者

        안녕하세요, 이도원입니다. 피드백 주신 내용은 강의 업데이트 시 꼭! 반영하도록 하겠습니다. 강의 특성 상 컨테이너 실행 VM 실행에 많은 리소스가 필요하다거나 여러 Host PC가 필요한 경우가 많습니다. 따라서, 가능하면 수강생분들이 실습 환경에 대한 부담이나 어려움을 덜어드리고자 Dind 방식이나, 별도의 VM 설정 관련된 강의를 준비 했었습니다. 강의에서 사용된 모든 스크립트 및 샘플코드는 Windows10, Windows 11, MacOS Inter chip (2018), MacOS M1 chip (2022) 버전에서 테스트 했는데, 그래도 어떤 수강생분들은 실행에 어려움이 있다는 것도 알고 있습니다. 향후 이러한 인프라 관련 강의에는 조금 더 다양한 환경에서의 테스트를 제공하거나 인프라 강의 외 다른 프로그래밍 강의에 전념(?) 해야 겠는 생각을 하기도 했습니다. ^^; 커뮤니티 올라는 질문에도 바로바로 확인하지 못하고 답변 못 드린 점도 죄송스럽게 생각합니다. 작년부터 AI 답변을 추가되고 있어서, 바로바로 알림을 확인하지 못한 점이나 프로젝트에 밀려 답변을 바로 못한 점도 사실입니다. 그래도, 수강해주시는 분들에게는 개인적인 상황이 있기 때문에, 바로바로 응대에 드리도록 노력하겠습니다. 보내주신 피드백 감사합니다.

    • 김재현님의 프로필 이미지
      김재현

      受講レビュー 1

      平均評価 5.0

      5

      100% 受講後に作成

      갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원! 갓도원!

      • pandabear님의 프로필 이미지
        pandabear

        受講レビュー 51

        平均評価 5.0

        5

        25% 受講後に作成

        오래 기다렸습니다. 이번 강의도 야무지게 보고 WebFlux 강의까지 숨 참겠습니다!!

        • Dowon Lee
          知識共有者

          안녕하세요, WebFlux 강의를 준비 중에 있습니다. 올해 안에 오픈 될 수 있도록 서둘러 마무리 하겠습니다.

      • 최경민님의 프로필 이미지
        최경민

        受講レビュー 10

        平均評価 4.7

        3

        100% 受講後に作成

        환경설정을 먼저 시작하고 나서 본강의를 시작하는 구조로 하는게 초보자들이 이해하기 쉬울듯하네요

        ¥10,386

        Dowon Leeの他の講座

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

        似ている講座

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