2017-02-14 6 views
1

のジェンキンスジョブポストの再イメージングを再開:は基本的に、私は自分のコンピュータ上ジェンキンスマスターサーバーを実行していると私は、現在のプロセスに従うスレーブコンピュータ

私は私の上のバッチファイルを実行するジョブを呼び出しますスレーブノードコンピュータは、コンピュータ全体を再イメージングする。私はマスターたら、スレーブノードが再撮像された、それが接触するようにジェンキンスをアップし、その後、それは時に決定された構成に応じて行う必要があり、特定の仕事をしていませんことができますどのように

最初の仕事の実行?

理想的な解決策は、再イメージングが完了した後でスレーブマシン上の特定の.exeファイルを実行するようジョブを設定することです。

例:できるだけ早くマシンは、再イメージングを起動し、スレーブノード上のJNLPエージェントを起動行われているように、この非常にマシンの

Slave\ReImage.bat 
    <the slave node reimages itself here> 
    <it connects back to Jenkins via a batch file in the system startup (JNLP)> 

Now what I want is for it to execute say: 
    program.exe file2use.csv 

。プロセスは自動化され、理想的には、冒頭にジョブを設定し、プロシージャ全体を終了させるために「ビルド」を押す必要があります。

Jenkinsのウェブサイトは現在一部のページで再加工中ですので、ドキュメントは見つけられません。パイプラインプラグインでこれを行うための強固な方法があれば、教えてください。 これに関する助言やアドバイスは大歓迎です。

ありがとうございます。エージェントは、バッチスクリプトを実行した後にオフラインになるどのように迅速に、あなたはおそらくパイプラインでこのような何か行うことができますによって

答えて

0

:あなたは「ビットにスリープ」よりも賢い何かをしたい場合は

// Run tasks on the target agent 
node('agent') { 
    // Get the scripts 
    git 'https://example.com/reimage-scripts.git' 

    // Re-image this machine 
    bat 'reimage' 
} 

// Give the agent a chance to go offline; 
// this doesn't need an agent to run on 
sleep 30 

// Run more tasks on the agent; this will block until it's online again 
node('agent') { 
    // Get the scripts 
    git 'https://example.com/reimage-scripts.git' 

    // Run the setup program 
    bat 'program.exe file2use.csv' 
} 

を、おそらくそれを次のようなものに置き換えることができます:

// Watch from another machine until the agent goes offline 
node('master') { 
    bat 'ping-agent-until-it-goes-offline' 
} 
関連する問題