![](https://miro.medium.com/max/672/0*qJDdTN5n79oDesz9.png)
私たちが知っているように、Dockerは、開発者やシステム管理者が、ラップトップ、データセンターのVm、またはクラウド上で分散アプリケーションを構築、出荷、およ今日は、Dockerfileに基づいてDockerイメージを構築するようにJenkinsを設定する方法を確認します。 以下は、CI/CDパイプライン内でDockerを使用し、イメージをビルドアーティファクトとして使用して、さまざまな環境に昇格し、最終的に本番環境に昇格させる方法の手順です。
ステップ#1 : 起動Jenkins
現在、DockerコンテナでJenkinsを実行しています。docker ps
コマンドを実行すると、コンテナのステータスが表示されます。
![コンテナのステータスを確認するDocker psコマンド](https://miro.medium.com/max/60/0*AAVExjUQZhyuDYqC.png?q=20)
Jenkinsのダッシュボードを起動します
![Jenkins dashboard](https://miro.medium.com/max/60/0*mDV0Gn11AnEh6lVk.png?q=20)
ステップ2:プラグインを設定し、Dockerイメージの構築を開始します。
最初のステップはDockerプラグインを設定することです。 JenkinsビルドがDockerを必要とするときはいつでも、プラグインを介して「Cloud Agent」を作成します。 エージェントは、Dockerデーモンと通信するように構成されたDockerコンテナになります。Jenkinsビルドジョブは、このコンテナを使用してビルドを実行し、停止する前にイメージを作成します。 Dockerイメージは、設定されたDockerデーモンに保存されます。 イメージは、デプロイの準備ができたDockerレジストリにプッシュできます。
- Jenkinsダッシュボード内に入ったら、左側のJenkinsの管理を選択します。
- 設定ページで、プラグインの管理を選択します。
- プラグインの管理ページでは、タブ付きのインターフェイスが提供されます。 「使用可能」をクリックすると、インストール可能なすべてのJenkinsプラグインが表示されます。
- 検索ボックスを使用して、Docker pluginを検索します。 複数のDockerプラグインがあり、チェックボックスを使用してDocker pluginを選択します。
![ドッカープラグインをインストール](https://miro.medium.com/max/60/0*-ddWyZC_trwBW-qU.png?q=20)
- このページでは、Gitリポジトリからソースコードを取得するためのGitプラグインをインストールします。
![プラグインのインストール](https://miro.medium.com/max/60/0*LhL6xpMIZthJOG02.png?q=20)
- 下部の「再起動せずにインストール」をクリックします。
- プラグインがダウンロードされ、インストールされます。 完了したら、リンクをクリックしてトップページに戻ります。
Docker&GITプラグインがインストールされたら、Dockerコンテナを起動する方法を設定できます。
からの製品Amazon.in
![ドッカーのマスタリング-](https://miro.medium.com/max/48/0*kxw7pwaSQHLH1Haw.jpg?q=20)
- -17%
- マスタリングドッカー-
- 価格:INR828.00
- でした:INR999。00
![DockerとJenkinsを使用した連続配信](https://miro.medium.com/max/48/0*Z3VrAyYU3PVCY2Hj.jpg?q=20)
- -17%
- DockerとJenkinsを使用した連続配信
- 価格:INR829.00
- でした:INR999.00
![Java開発者のためのDockerとKubernetes](https://miro.medium.com/max/48/0*Corzf7E2p5Kawysq.jpg?q=20)
- Java開発者のためのDockerとKubernetes
- 価格:INR828.00
![Windows上のDocker](https://miro.medium.com/max/48/0*DaEVFPBxgqc03uar.jpg?q=20)
- 価格:¥1,000 828.00
![Docker:Up and Running-本番環境で信頼性の高いコンテナを出荷](https://miro.medium.com/max/46/0*RZJa_5hs6K1MAjmC.jpg?q=20)
- 価格:在庫切れ
![ドッカー : クイックスタート初心者ガイド](https://miro.medium.com/max/38/0*cZajrZwaAty4vZhD.jpg?q=20)
- クイックスタート初心者ガイド
- 価格:アマゾンでの売り上げランキングが12383位の商品です。
![ドッカーディープダイブ](https://miro.medium.com/max/46/0*1BkZy0byhjGsmIJJ.jpg?q=20)
- ドッカーディープダイブ
- 価格:アマゾンでの売り上げランキングが1位の商品です。
![Docker:5Books in1-初心者ガイド+ヒントトリック+シンプルな効果的な戦略+ベストプラクティス高度な戦略](https://miro.medium.com/max/38/0*07ywLU4PE_8BdnqT.jpg?q=20)
- ドッカー:5本で1-初心者のガイド+ヒント&トリック+シンプル&効果的な戦略+ベストプラクティス&高度な戦略
- 価格:アマゾンでチェック
![RyのGitチュートリアル](https://miro.medium.com/max/44/0*EL1eS75rNiDyO6GM.jpg?q=20)
- Ryさん
- 価格: Amazonでチェック
” “
設定は、どのDockerイメージがエージェントを使用するか、どのDockerデーモンがコンテナを実行してビルドするかをプラグインによって使用されます。プラグインはDockerをクラウドプロバイダーとして扱い、ビルドが必要なときにコンテナを回転させます。ステップ3:Dockerエージェントを設定する
- Jenkinsダッシュボードで、Jenkinsの管理を選択します。
- メインのJenkins設定にアクセスするには、[システムの構成]を選択します。
- 下部には、新しいクラウドを追加というドロップダウンがあります。 リストからDockerを選択します。
![Docker新しいクラウドを追加](https://miro.medium.com/max/60/0*VGZOjzQYuUIFEXe7.png?q=20)
- コンテナオプションを設定できるようになりました。 エージェントの名前をdocker-agentに設定します。
![Dockerエージェントオプションの設定](https://miro.medium.com/max/60/0*NFLCwXXVAipC04Bd.png?q=20)
- “Docker URL”は、Jenkinsがエージェントコンテナを起動する場所です。 この場合、Jenkinsを実行するのと同じデーモンを使用しますが、現実世界のシナリオでは、スケールできるように別のインスタンスにする必要があります。
- テスト接続を使用して、JenkinsがDockerデーモンと通信できることを確認します。 Dockerのバージョン番号が返されます。
プラグインがDockerと通信できるようになったので、次のステップはエージェントのDockerイメージを起動する方法を設定することです。
- 画像のドロップダウンを使用して、Dockerテンプレートのドロップダウンを追加を選択します。Dockerイメージの場合は、Dockerクライアントbenhall/dind-jenkins-agentを持つサンプルを使用します。 このイメージはDockerクライアントで構成されており、https://hub.docker.com/r/benhall/dind-jenkins-agent/
- で使用できます。
- JenkinsはSSHを使用してエージェントと通信します。 新しい”資格情報”のセットを追加します。 ユーザー名はjenkinsで、パスワードはjenkinsです。
- 最後に、ボタンをクリックしてコンテナ設定セクションを展開します。 「Volumes」テキストボックスに/var/run/dockerと入力します。sock:/var/run/docker。靴下
- 保存をクリックします。ステップ4:セットアップをテストする
セットアップをテストするには、新しいジョブの作成を
- Jenkinsダッシュボードで、タイプFreestyle project&create new job exのジェンキンスのデモ。
Jenkinsを使用したDockerイメージの構築—新しいプロジェクトの作成 - ビルドはDockerにアクセスできるかどうかに依存します。 「このプロジェクトを実行できる場所を制限する」を使用して、構成されたDocker agentのラベルを定義できます。 「ラベル式」をdocker-agentに設定します。 “Label is serviced by no nodes and1cloud”の設定が必要です。
- リポジトリの種類をGitとして選択し、リポジトリを設定します。私は私のGITの場所https://github.com/karthi4india/jenkins/を使用しています。
- ドロップダウンを使用して新しいビルドステップを追加できるようになりました。 [シェルの実行]を選択します。
Jenkinsを使用したDockerイメージのビルド-ビルドステップの追加 - Dockerfileはbuildを処理し、Jenkinsはbuildを呼び出してフレンドリ名を指定するだけです。
ビルドステップ:
ls
docker info
docker build -t jenkins-demo:${BUILD_NUMBER} .
docker tag jenkins-demo:${BUILD_NUMBER} jenkins-demo:latest
docker images最初のコマンドは、ビルドされるディレクトリ内のすべてのファイルを一覧表示します。 Docker buildを呼び出すときは、Jenkinsビルド番号をイメージタグとして使用します。 これにより、Dockerイメージのバージョン管理が可能になります。 また、ビルドに最新のタグを付けます。
:
FROM scratch
EXPOSE 80
COPY http-server /
CMD左側で、[今すぐビルド]を選択します。 “(Pending—Waiting for next available executor)”というメッセージでスケジュールされたビルドが表示されるはずです。
Jenkinsを使用してDockerイメージをビルドする—Jenkins Build Jenkinsはコンテナを起動し、SSH経由で接続しています。 時には、これは一瞬か二つを取ることができます。
を使用して進行状況を見ることができます
docker logs --tail=10 jenkins
ビルドが完了すると、Docker CLIを使用してイメージとタグが表示されます
docker images
この記事のように? それを共有することを忘れないでください!