강의

멘토링

커뮤니티

BEST
Programming

/

Devops & Infra

アプリケーション展開の自動化とCI/CD

レッスンでは、アプリケーションのデプロイの自動化を体験することができます。

難易度 初級

受講期間 無制限

  • foo
Jenkins
Jenkins
CI/CD
CI/CD
nginx
nginx
github-webhook
github-webhook
Jenkins
Jenkins
CI/CD
CI/CD
nginx
nginx
github-webhook
github-webhook

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

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

4.5

5.0

charo

75% 受講後に作成

2~3時間ほど講義だから、細かい部分では説明がやや短いですが無中断配布を一度経験してみる講義だと思います。あらかじめ docker 辞書の知識がある程度あれば聞くと少し簡単だと思います。 講義自体をわざとエラーのあるスクリプトに進み、その後にエラーを解決していく方法なので、私は楽しく聞きました。

5.0

채종훈

55% 受講後に作成

既存のジェンキンスパイプラインを活用する講義は、基本的なことから始めて多くの機能を事前に説明して進めようとします。 この講義の長所であり、欠点はそのような深い部分を省略していくということですが、初級講義であることを勘案すれば、ここで最初に使用する方法を身につけ、その後、より深い理解をする方法も良いと思います。 短時間でショートカットで活用する方法を学ぶことができる点が長所であり、パイプラインの長所であるディテールなステップバイステップ処理という強みをしっかり実習してみることができてよかったです。 当日明日から業務にジェンキンスパイプラインを書かなければならない方や、就任して本人ポートフォリオを高度化させた配布方式で仕上げたい方に強力おすすめです。

5.0

김영웅

100% 受講後に作成

全ての過程を詳細に教えてくださったのは感謝していますが、所々でChatGPTへの依存が見られたのが少し残念でした。

受講後に得られること

  • Jenkins

  • 展開の自動化

  • CI/CDテスト

「カチッ」→配布完了

アプリケーションをデプロイするのがこのように簡単な場合は、どれほど良いでしょうか。これは、手動展開から離れて、展開の自動化とCI / CD(持続的な統合と展開)の重要性を実感する時です。私が単独で開発するときと今の大きな違いの1つは、まさに展開プロセスの効率性です。単独で開発するときは手動配布も大きな問題にはなりませんでしたが、実際の現業では迅速で安定的な配布が必須です。多くの開発者とコラボレーションし、頻繁なコード変更が行われている環境では、展開の自動化が不可欠です。

実際にアプリケーションがうまく動作していても、配備プロセスが複雑で非効率的である場合、これはシステム全体の障害点になる可能性があります。デプロイ中に発生する問題によってサービスが中断されたりエラーが発生した場合、ユーザーに悪い経験を与える可能性があります。

このレッスンでは、これらの問題を解決するためにJenkinsを使用した展開の自動化、無中断の展開設定、およびCI / CDパイプラインの構築方法について説明します。 Jenkinsを活用してデプロイプロセスを自動化し、nginxを使用してAPIサーバー用の無中断デプロイメント環境を作成し、CIテストとCDロールバック戦略まで取り上げています。

もちろん、展開自動化とCI / CDは最初から完全に実装するのは難しいです。しかし、このレッスンでは、展開の自動化とCI / CDの基本概念を学び、あなたのプロジェクトやチーム内のプロジェクトにも適用するのに十分です。講義が終わったら、あなたのプロジェクトに合わせた配布自動化方法も、自分で悩んで直接実装することもできます。


Jenkinsパイプライン作成による展開の自動化とCI / CD環境の構成


このようなことを学びます。

Jenkins

Jenkinsはオープンソースの自動化サーバーで、さまざまなプラグインを介してCI / CDパイプラインを構築および管理するために使用されます。このレッスンでは、Jenkinsサーバーを設定し、展開環境を設定し、WebHookを利用した展開自動化を実装する方法を学びます。

無中断展開

非中断展開は、サービスを中断することなく新しいバージョンのアプリケーションを展開する方法です。これにより、ユーザーにシームレスなサービスを提供できます。レッスンでは、nginxを活用した無中断展開を作成し、それをテストする方法を学びます。

CI/CD

CI/CDは、ソフトウェア開発の自動化されたプロセスを通じて、コードの変更を頻繁かつ確実に展開する方法です。このレッスンでは、CIとCDの概念を理解し、CIテストコードを作成および設定し、CDプロセスで発生する可能性のある問題を解決する方法について説明します。

受講前の注意

練習環境

  • オペレーティングシステムとバージョン(OS):Windows 10、

  • 使用ツール: Intellij Community 2023.2, Google Chrome



学習資料

  • スクリプト例: https://github.com/lleellee0/application-deploy-advanced

  • デプロイ対象プロジェクトの例: https://github.com/lleellee0/deploy-test

    • そのプロジェクトを fork して使ったり、自分で作った別のプロジェクトを使って練習してみてください。まだテストコードを書くなど、CI / CDについてよく知られていない場合は、サンプルプロジェクトをforkして使用することをお勧めします。

選手の知識と注意事項

  • クラウドサービスはVultrというサービスを使用していますが、AWSやGCPなど他のクラウドサービスを使用しても構いません。ただし、他のクラウドサービスを使用する場合は、ファイアウォールの設定など、いくつかの違いがあります。しかし、このような問題は、皆さんが直接検索してみて、体にぶつかってみればもっと多く得られると思います。

  • Spring Bootで作成されたアプリケーションに基づいて練習を進めますが、一部のスクリプトのみを変更すると、他の言語や他のフレームワークにも適用可能です。ご質問があれば質問を残してください。私が助けることができる限り、できるだけお手伝いします。


  • 受講中に質問がある場合は、質問を残してください。更新する必要がある場合は、更新します。


こんな方に
おすすめです

学習対象は
誰でしょう?

  • 手動でアプリケーションをデプロイしたいが、自動的にデプロイできる方法について学びたい人

  • 展開自動化の概念自体はすでに知っていますが、Jenkinsを介して迅速に展開自動化環境を作成したい人

  • CI/CDプロセスがなぜ必要なのか知りたい人

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

  • 手動展開を行った経験

  • Git、GitHubの使用経験

こんにちは
です。

6,034

受講生

300

受講レビュー

117

回答

4.9

講座評価

9

講座

こんにちは。

メンタリングを通じて、ジュニア開発者が難しく感じる概念をいかに分かりやすく伝えられるかについて日々悩んでいる、フー(Foo)と申します。

よろしくお願いいたします。


経歴

  • 2019. 08 ~ 現在:カカオ Javaバックエンドエンジニア

  • 2021. 08 ~ 現在 : programmers バックエンドデブコース メンター

  • 2021. 12 ~ 現在 : F-Lab Javaバックエンドメンター

  • これが就職のためのバックエンド開発だ with Java(リンク)

その他の経歴や他プラットフォームでの講義は、以下のGitHubリンクからご確認いただけます。

GitHub - https://github.com/lleellee0

カリキュラム

全体

20件 ∙ (2時間 56分)

講座掲載日: 
最終更新日: 

受講レビュー

全体

20件

4.5

20件の受講レビュー

  • tjsdnd6274234님의 프로필 이미지
    tjsdnd6274234

    受講レビュー 9

    平均評価 4.8

    5

    75% 受講後に作成

    2~3時間ほど講義だから、細かい部分では説明がやや短いですが無中断配布を一度経験してみる講義だと思います。あらかじめ docker 辞書の知識がある程度あれば聞くと少し簡単だと思います。 講義自体をわざとエラーのあるスクリプトに進み、その後にエラーを解決していく方法なので、私は楽しく聞きました。

    • perfectgame님의 프로필 이미지
      perfectgame

      受講レビュー 7

      平均評価 5.0

      5

      55% 受講後に作成

      既存のジェンキンスパイプラインを活用する講義は、基本的なことから始めて多くの機能を事前に説明して進めようとします。 この講義の長所であり、欠点はそのような深い部分を省略していくということですが、初級講義であることを勘案すれば、ここで最初に使用する方法を身につけ、その後、より深い理解をする方法も良いと思います。 短時間でショートカットで活用する方法を学ぶことができる点が長所であり、パイプラインの長所であるディテールなステップバイステップ処理という強みをしっかり実習してみることができてよかったです。 当日明日から業務にジェンキンスパイプラインを書かなければならない方や、就任して本人ポートフォリオを高度化させた配布方式で仕上げたい方に強力おすすめです。

      • foo
        知識共有者

        チェ・ジョンフン様、丁寧な受講評ありがとうございます! 受講を心配する他の方にもお役に立てそうです。 ㅎㅎ

    • syhan75162629님의 프로필 이미지
      syhan75162629

      受講レビュー 16

      平均評価 5.0

      5

      30% 受講後に作成

      • foo
        知識共有者

        syhan7516さん 受講レビューを残してくださってありがとうございます~ :)

    • uheejoon님의 프로필 이미지
      uheejoon

      受講レビュー 45

      平均評価 5.0

      5

      30% 受講後に作成

      • foo
        知識共有者

        ユ・ヒジュン様、受講レビューをお寄せいただきありがとうございます!!

    • 941021081384님의 프로필 이미지
      941021081384

      受講レビュー 8

      平均評価 5.0

      修正済み

      5

      100% 受講後に作成

      全ての過程を詳細に教えてくださったのは感謝していますが、所々でChatGPTへの依存が見られたのが少し残念でした。

      • foo
        知識共有者

        キム・ヨンウン様、受講後のコメントありがとうございます。(_ _) できる限り、実際に私がCI/CDプロセスを構築するように実習を進めたかったため、ChatGPTを活用しました 😊.. この部分が残念に思われたかもしれません。今後は、もう少し整理された内容に加えて、ChatGPTでどのように自分で試せるかを扱ってみようと思います。 ありがとうございます!

    ¥3,487

    fooの他の講座

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

    似ている講座

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