11

Jenkins の「Publish over Ssh」プラグインで、Label(Advanced options) aka Parameterized Publishing 機能を使用するにはどうすればよいですか。ラベル フィールドの使用方法。Label フィールドには何を入力しますか。Machine Name を持つ変数名(ビルドパラメーターから読み取ることができるもの)を入力する必要がありますか? 私は同じことを試しましたが、これが私がしたことです:

マシン名 QA_1 があり、変数 jenkins build $MC_NAME が XXX を指していました。LABEL フィールドに $MC_NAME と入力しました。しかし驚いたことに、Jenkins は $MC_NAME 変数の値に関係なく QA_1 マシンに公開していました。

Jenkins の「Publish over Ssh」プラグインにファイルされた LABEL を使用して、スクリプトを発行/実行するマシンを制御する正確な手順を教えてください。

4

2 に答える 2

16

質問への回答と、プロセスの構成方法:

1.ジェンキンスの設定

  1. Publish over SSH プラグインをインストールする
  2. Jenkins の構成 => システム構成
  3. SSH セクションで公開

    • キー => -----BEGIN RSA PRIVATE KEY----- ... これがあなたのキーです ... -----END RSA PRIVATE KEY----- 1.2.1.2 SSH サーバー =>
    • 名前: Server_1 (構成の名前のみ)
    • ホスト名: example_server_1.com (サーバーの URL)
    • ユーザー名: ec2-user (Amazon の場合)

    • サーバー追加ボタンをクリック

    • 名前: Server_2 (構成の名前のみ)
    • ホスト名: example_server_2.com (サーバーの URL)
    • ユーザー名: ec2-user (Amazon の場合)

2.ジョブ構成

  1. ジョブを開く => 設定
  2. このプロジェクトはパラメータ化されていることを確認します
  3. 選択肢パラメータを追加

    • 名前: サーバー
    • 選択肢:

       server_1
       server_2
      
  4. [ SSH 経由でファイルを送信するか、コマンドを実行する] => [SSH サーバー] セクション を選択します。
    • 名前: 最初のサーバーを選択します
    • 転送セット データ (ソース ファイルおよび/または Exec_command) を入力します。
    • 詳細をクリックします
    • ラベル: server_1 (これは、choice パラメーターの最初の選択肢です)
    • [サーバーの追加] をクリックします
    • 名前: 2 番目のサーバーを選択します
    • 転送セット データ (ソース ファイルおよび/または Exec_command) を入力します。
    • 詳細をクリックします
    • ラベル: server_2 (これは、choice パラメーターの 2 番目の選択肢です)
    • ボタンAdd Serverの前にあるAdvancedをクリックします。
    • パラメータ化された公開を確認す​​る
    • パラメーター名: サーバー (これは、選択したパラメーターの名前です)

3. ジョブの実行

ジョブを実行し、たとえば Server => server_2 を選択します。

ログに次のように表示されます。

SSH: Skipping [server_1] - Label server_1 does not match expression server_2
SSH: Publishing to [server_2] - Label server_2 matches expression server_2
SSH: Connecting from host [ip-10-0-0-37]
SSH: Connecting with configuration [server_2] ...

説明

プラグインは、「サーバー」という名前のパラメーター (ジョブの開始前に選択したもの) の値を、構成したラベルと比較します。ラベルとパラメータが一致すると、SSH コマンドが実行されます。

お役に立てば幸いです。私はそれに5時間費やした原因。

于 2014-10-21T07:49:57.497 に答える
8

「パラメーター化された公開」を有効にし、ビルド構成の「ビルド後のアクションの追加」ボタンの前にある「詳細...」ボタンをクリックしてビルドパラメーター名を指定する必要があります(たとえば、ビルド後のアクションのセクションを使用します)。

例:「ビルドパラメータ名」= SSH_SERVERSSH_SERVER次に、 sshサーバーのラベルと一致するように正規表現を使用したビルドパラメーターが必要です。

あなたの場合、SSH_SERVERビルドパラメータをXXXに設定する必要があります。その後、SSH公開はQA_1サーバーに対してのみ行われる必要があります。

于 2012-11-19T14:48:33.030 に答える