3

Jenkins ジョブを実行する方法/Jenkins スレーブ内でビルドする方法を探しています。動的に (オンデマンドで) Docker を開始しました。視覚的に理解するための添付スキーマ。私が実際に探しているものと私のフローは次のようになります。

1) Jenkins ジョブのトリガー (手動/git/gerrit)
2) Jenkins マスター (docker で実行中) がスレーブ マシンの docker を起動 (およびビルドのスクリプト/命令を渡す)
3) ビルドが Jenkins スレーブ (または並列/パイプラインの場合はスレーブ) で実行されている)
4) Jenkins マスターに結果が返される
5) Jenkins スレーブ docker が停止する

ジェンキンス・フロー

このようにすることは可能ですか?

4

2 に答える 2

4
  1. 以下のリンクに記載されている、openssh のインストール、ユーザーの作成などの Docker スレーブ イメージの作成手順。以下のリンクから docker プラグインをインストールします。

    ここをクリック!_

  2. jenkins グローバル構成に移動し、クラウドの見出しの下に docker 構成が表示されます。ポート番号を指定して docker ホスト URL を入力します。資格情報は必要ありません。接続タイムアウトと読み取りタイムアウトの値をいくつか指定します。

  3. docker template の下 - ポイント番号 1 で作成した docker イメージ名を入力します。

  4. ラベル番号を設定します (Jenkins ジョブの作成時にこのラベル名を付け、このスレーブ名に制限します)、

  5. 使用オプションを選択します - > ラベル制限のあるジョブのみをビルドします。

  6. executor の数 -> 最小 1. 起動方法として ssh を選択し、手順 1 で docker イメージに作成したログイン用のユーザー資格情報を入力します。

docker スレーブ ラベルに制限するジョブを作成し、実行すると、オンデマンドでコンテナーが起動されます。

于 2016-07-28T14:38:45.247 に答える
0

このプラグインを使用してください: https://wiki.jenkins-ci.org/display/JENKINS/Yet+Another+Docker+Plugin

インストール後 (Java 1.8 が必要です)、設定に移動します。次の 2 つの手順があります。

  1. ドッカー「クラウド」を構成する
  2. ビルドを実行する「インスタンス」(docker イメージ)を追加します

すべての画像にラベルを割り当てる必要があります - ジョブ構成でこのラベルを使用して、ジョブを実行するノードを Jenkins に明示的に伝えます

于 2016-07-28T14:18:26.097 に答える