강의

멘토링

커뮤니티

BEST
Programming

/

Devops & Infra

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

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

難易度 初級

受講期間 無制限

  • Dowon Lee
Jenkins
Jenkins
CI/CD
CI/CD
Ansible
Ansible
Kubernetes
Kubernetes
SonarQube
SonarQube
Jenkins
Jenkins
CI/CD
CI/CD
Ansible
Ansible
Kubernetes
Kubernetes
SonarQube
SonarQube

MacOS Apple チップ用の Ubuntu DinD イメージを追加

こんにちは、離島院です。

「Jenkinsを使用したCI/CD Pipelineの構築」講義と「DevOpsのためのDocker仮想化技術(Private Harbor Registry)」講義では、所望のDockerコンテナ実行のためにDinD(Docker in Docker)方式で実践環境を構築し、例を実行しています。

ただし、WindowsとMacOS環境がそれぞれ異なり、MacOSの場合、Intel chip、Apple chipによって設定しなければならないドッカーイメージが異なります。この画像では、SSHサーバーとDockerエンジンがインストールされているように構成し、実習の際、複数のドッカーコンテナが必要な場合に使いやすくするように構成したが、受講生の方々の環境に合わせて製作するには無理があるのも事実です。それでも、できるだけ一般的な環境では無理なく実習できるようにドッカーイメージを更新しようとしています。

最近、MacOS Apple chip で使用する docker-server:m1 イメージを利用して、実習時、下記のエラーなどで実習できないエラーが確認されました。

 exec /docker-entrypoint.sh: invalid argument

複数のパスで確認して修正もしてみましたが、MacOS Apple chipで使用するarm64アーキテクチャにDockerコンテナにドッカーエンジンをインストールして使用するDinD方式でエラーが発生するようです。 (エラーメッセージやログがないため原因を探すには限界がありますね)

そのイメージでは解決が難しいと判断され、以下のようにUbuntuベースにSSH + Dockerエンジンをインストールしたバージョンを再ビルドして配布しました。

https://hub.docker.com/repository/docker/edowon0623/docker-server/general

上記で発生した問題等は全て解消されたことを確認しました。 Ubuntnでは、Dockerサービスを起動するために、以下のコマンドを先に実行してください。

 service start docker

今後も、DinDの問題など、実習に関連する問題が確認されたように、更新された実践環境を提供します。

来週は連休ですね。私個人的に多事多難した2024年でしたが、新しい心で新しい一年を始めるようにします。今年は、より良い講義で頻繁に訪れましょう。明けましておめでとうございます。

ありがとうございます。

コメント