Jenkins は、アプリケーションの構築、テスト、デプロイなどのソフトウェア開発プロセスのさまざまな部分の自動化に役立つ、広く使用されているオープンソース自動化サーバーです。
Docker は、コンテナーと呼ばれる分離された環境でアプリケーションやサービスを実行できるようにするコンテナー化プラットフォームです。
このチュートリアルでは、Jenkins と Docker を組み合わせて、スケーラブルでポータブルな Jenkins サーバーを作成する方法を学びます。
注: このチュートリアルでは、Docker Hub リポジトリの公式 jenkins/jenkins イメージを使用します。このイメージには、本番環境に対応した Jenkins の現在の長期サポート (LTS) リリースが含まれています。
ネットワークを作成する
最初のステップは、Jenkins インスタンスを分離するための新しい Docker ネットワークを作成することです。これにより、より良いコミュニケーションが促進されます。
Docker でブリッジ ネットワークを作成するには、次のコマンドを実行します。
$ ドッカーネットワークはジェンキンスを作成します
これにより、Jenkins と呼ばれるブリッジ ネットワークが作成されます。
Jenkins Docker コンテナを実行する
ネットワークを構成したら、公式の Jenkins Docker イメージを使用して Jenkins コンテナを実行できます。
また、ネットワークを指定し、Jenkins データ永続化用のボリュームを構成します。コマンドは次のとおりです。
ドッカーの実行 \- 名前 ジェンキンスドッカー \
--rm \
--デタッチ \
--特権付き \
- 通信網 ジェンキンス \
--ネットワークエイリアス ドッカー\
--env DOCKER_TLS_CERTDIR = / 証明書 \
- 音量 jenkins-docker-certs: / 証明書 / クライアント \
- 音量 ジェンキンスデータ: / だった / ジェンキンス_ホーム \
- 公開 2376 : 2376 \
ドッカー:\ から
--ストレージドライバー オーバーレイ2
前のコマンドは、昇格された権限とネットワーク構成を使用して、「jenkins-docker」という名前の Docker-in-Docker (DinD) コンテナーを起動します。
–rm フラグを使用すると、コンテナーが停止したときにコンテナーが自動的に削除されます。コンテナーは、前の手順で作成した「docker」というネットワーク エイリアスを使用して Jenkins ネットワークに接続されます。
次に、Docker TLS 証明書の環境変数を設定し、証明書ストレージと Jenkins データ用のボリュームをマウントします。
次のセクションでは、Docker デーモン通信用にポート 2376 を公開します。
最後に、docker:dind イメージを指定し、overlay2 を使用するようにストレージ ドライバーを構成します。
Jenkins Web UI にアクセスする
コンテナを起動すると、次のコマンドを使用して Web ブラウザから Jenkins インスタンスにアクセスできます。 住所。
単純な Jenkins コンテナを実行したい場合は、次のコマンドを使用できます。
$ドッカー実行 -d -p 8080 : 8080 -p 50000 : 50000 - 名前 ジェンキンス \- 通信網 ジェンキンス \
-で ジェンキンス_ホーム: / だった / ジェンキンス_ホーム \
ジェンキンス / ジェンキンス:lts
これにより、ボリュームやバインド ポートなどの他の機能を構成する必要なく、Jenkins サーバーが実行されます。
これで、次の場所で Jenkins インスタンスにアクセスできるようになります。 。
Jenkins の準備が完了すると、ブラウザーで必要なプロパティを使用して Jenkins サーバーをすばやく構成できるようになります。
セットアップが完了したら、管理者パスワードを指定して Jenkins のロックを解除する必要があります。次のコマンドを実行すると、これを見つけることができます。
$ ドッカーログジェンキンス
このコマンドは、Jenkins パスワードを含むコンテナーのログを表示します。
次のステップでは、Jenkins インスタンスに使用するプラグインを選択してインストールします。 Jenkins を初めて使用する場合は、推奨されるプラグインを選択してください。
これにより、Jenkins はすべてのデフォルトのプラグインをダウンロードしてインストールできるようになり、Jenkins パイプラインを簡単に操作できるようになります。
結論
このチュートリアルでは、Docker と公式の Jenkins イメージを使用して Jenkins サーバーをコンテナとしてセットアップする方法を学びました。