概要
この記事では、Dockerを使用してJenkinsをインストールする手順について説明します。 Jenkins LTSリリースを単一のホストマシンにデプロイし、DockerハブからのJenkins公式Dockerイメージを使用します。 Jenkins Dockerの完全なドキュメントは、公式のjenkinsgithubで確認できます。
Jenkinsは、有名で人気のあるオープンソースのCI/CD自動化ツールです。それが提供する多くの利点があるので、実行するのはJavaに依存するため、メンテナンスを実行するのが面倒な場合があります。幸いなことに、Javaも含まれているので簡単にデプロイしてメンテナンスを簡素化できるDockerバージョンのJenkinsができました。
前提条件:
Dockerがプリインストールされて実行されています。 Dockerは、いくつかの主要なディストリビューション(ubuntu、debian、rasbianなど)のDockerサイトから公式の自動インストールスクリプトを使用してすばやくインストールできるようになりました:
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh
Dockerを使用してJenkinsをインストールする
Dockerを使用してJenkinsをインストールするには、Jenkinsのドキュメントで次のDockerコマンド引数を推奨しています。
docker run -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts-jdk11
このdockerコマンドは、LTSバージョンのJenkinsでJenkinsコンテナーをデプロイし、ホストマシンから/ var / jenkins_homeディレクトリをマウントします(したがって、データの永続性をJenkinsに追加します。つまり、コンテナーの再起動または更新時にデータが失われることはありません。この設定を追加することを強くお勧めします。 )ポートを公開して、JenkinsダッシュボードをWebブラウザ経由で利用できるようにします。 Dockerは、Jenkinsのインストール、デプロイ、実行に数分かかります。
ホストサーバーからディレクトリをマウントすると、すべてのJenkins構成、ファイル、プラグイン(推奨)をバックアップでき、別のホストに移行することもできます。
Jenkinsへのアクセスと構成
Jenkins dockerコンテナーをデプロイした後、DockerはJenkinsコンテナーをすぐに自動的に起動し、ターミナルで、コンテナーの起動と同時に管理者のロック解除パスワードを出力に表示する必要があります。以下の画像はその一例です:
Jenkinsコンテナが起動しない場合は、Dockerで実行されているかどうかを確認して起動します。後で管理者ロック解除パスワードを取得することもできます。
docker ps -a docker start ${CONTAINER_ID or CONTAINER_NAME}
Jenkins Dockerコンテナからロック解除パスワードを取得するには、以下からコマンドを実行します。このコマンドを使用すると、コンテナーに実行する(またはコンテナーにシェルする)必要なしにパスワードを出力できます。
sudo docker exec ${CONTAINER_ID or CONTAINER_NAME} cat /var/jenkins_home/secrets/initialAdminPassword
ダッシュボードに初めてアクセスすると、[Jenkinsのロック解除]ページが表示されます。このページには、管理者パスワードを取得してJenkins管理者ダッシュボードのロックを解除する方法が示されています。
ロック解除ページにパスワードを貼り付けて、[続行]をクリックします。
次の画面には、新しい管理者ユーザーの作成が表示されます。新しい管理者アカウントを作成して使用することをお勧めします。
次の画面–インスタンス構成。ここでは、JenkinsダッシュボードのURLを確認または更新する必要があります。
[保存して終了]をクリックすると、これが構成の最後のステップになります。
ファイアウォール構成
念のため、ファイアウォールを実行している場合(これを強くお勧めします)、Jenkinsのポートを開く必要があります。そうしないと、Jenkins管理ダッシュボードにアクセスできなくなります。
UFW sudo ufw allow 2376 IPTABLES sudo iptables -I INPUT -p tcp -m tcp --dport 2376 -j ACCEPT or sudo iptables -A INPUT -p tcp -m tcp --dport 2376 -j ACCEPT
概要
要約すると、Dockerを使用してJenkinsをインストールする手順を示しました。 DockerでJenkinsをデプロイすると、ホストレベルでのメンテナンスが減り、Javaでのメンテナンスの必要性も減ります。DockerのJenkinsにはJavaがプリインストールされ、構成されているためです。さらに、展開も簡単です(LinuxホストにJavaとJenkinsを手動でインストールして手動で更新するのではなく)。基本的に、Jenkinsをデプロイするために1つのコマンドが必要であり、すぐに作業できます。
このソリューションはメンテナンスの負担が少ないですが、それでもリソースを大量に消費する可能性があります(チームのサイズ、パイプラインの数、および実行する必要のあるビルドの種類によって異なります)。少なくとも実行して学習と練習に使用するには、ホストマシンから2 GBのRAMが必要です。小規模な開発チームの場合、適切に実行してパイプラインとビルドを実行するには、少なくとも4GBのRAMを搭載したホストを用意することをお勧めします。および2コアCPU。
お時間をいただきありがとうございます…