Jenkins の設定から実戦まで (2) - Jenkins で複数マシンの構築を自動化する方法

序文

  • 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 サーバーへの負荷が軽減されます。必要に応じて、上記の手順に従ってさらにマシンを追加し、ビルド タスクを別のマシンに分散して実行できます。

おすすめ

転載: blog.csdn.net/new9232/article/details/131905132