序文
- jenkins は、ローカル マシンでのプロジェクト構築をサポートするだけでなく、構築タスクを他のリモート サーバーに分散して実行することもでき、異なるプラットフォームやアーキテクチャのマシン上で自動プロジェクト構築タスクを実現し、jenkins サーバーへの負荷を軽減することもできます。この記事では主にこのプロセスを紹介します。
準備
- 2 台のマシンを準備し、1 台は IP 192.168.206.137 の Jenkins サーバーです。IP 192.168.206.134 の共通マシン A。jenkins サーバーの構築方法は前回の記事を参照してください。
- 仮想マシン Java インストール コマンド
- 検索: yum 検索 java|grep jdk
- インストールを選択します: yum install java-1.8.0-openjdk
ジェンキンスの構成
- jenkins ノードはこの部分を管理します。現在、ノードは 1 つだけあり、それが私の jenkins サーバーです
- 新しいノードの構成を開始し、システム管理を選択します
- 次に、「グローバルセキュリティ設定」を選択します
- プロキシはここでポートを指定して保存します。
- 次に、システム管理でノード管理を選択します
- 新しいノードを作成する
- ノード名を指定して作成します
- 以下の情報を順番に入力していきます。ここでの情報は先ほど準備した仮想マシン A の情報です。仮想マシン A のルート ディレクトリの下に jenkins ディレクトリを作成できます。
- 保存後、ここにすでに新しいノードがあることがわかります。しかし、ノードがオンラインではないことが示されています
- クリックして次の情報を表示し、agent.jar をクリックしてパッケージをダウンロードします。
- 次に、このagent.jarを仮想マシンAの/root/jenkinsディレクトリにコピーし、仮想マシンAの/root/jenkinsディレクトリで上記のコマンドを実行します。
-
java -jar agent.jar -jnlpUrl http://192.168.206.137:8080/computer/centos7/jenkins-agent.jnlp -secret 0d6908ae6652429557b05ed7e0060b5a5d0dea0a3dd6b0b159752599f5d72469 -workDir "/root/jenkins"
- 接続が成功したことを示す次のメッセージを参照してください。
- ノードリストに戻ると、ノード centos7 がすでにオンラインになっていることがわかります。
- 次に、「システム管理」で「プラグイン管理」を選択します。
- オプションのプラグインで Node および Label パラメータを検索し、インストールします
リモートビルドを実装する
-
新しいタスクを作成する
-
ここでノードを選択してください
-
ここで git ウェアハウスを指定し、ブランチを選択します
-
タスクが正常に作成されると、追加の Build with Parameters パラメーターがあることがわかります。
-
ここでわかるように、さまざまなノードを選択できます。centos7 を選択し、クリックして構築を開始します
-
ビルドは成功しました。私の jenkins サーバーの IP は 192.168.206.137 です。ここからわかるように、コードは別のマシン 192.168.206.134 にプルされています。
-
仮想マシン A にコードが正常にプルされたことがわかります。
-
仮想マシン A 上でコードをプル、コンパイル、パッケージ化、公開できるため、jenkins サーバーへの負荷が軽減されます。必要に応じて、上記の手順に従ってさらにマシンを追加し、ビルド タスクを別のマシンに分散して実行できます。