以前のJenkins2では、 Build Pipeline Plugin を使用してアプリケーションをビルドし、サーバーに手動でデプロイしていました。古い構成:
それはうまく機能しますが、groovyスクリプト(Jenkinsfile)から生成された新しいJenkinsパイプラインを使用して手動ステップを作成したいと思います。
これまでのところ、input
jenkinsステップを思いついた。
使用されたjenkinsfileスクリプト:
node {
stage 'Checkout'
// Get some code from repository
stage 'Build'
// Run the build
}
stage 'deployment'
input 'Do you approve deployment?'
node {
//deploy things
}
しかし、これはビルドが完了していないことに注意して、ユーザーの入力を待ちます。 input
にタイムアウトを追加することはできますが、これによりビルドを選択/トリガーして後でデプロイすることはできません。
Build Pipeline Pluginの以前のように、新しいjenkins-pipelineを使用して手動のステップ/トリガーで同じ/類似の結果を得るにはどうすればよいですか?
これは、Jenkins Pipeline機能IMOの大きなギャップです。パイプラインは単一のジョブであるため、提供するのは間違いなく困難です。 1つの解決策は、ワークスペースを「アーティファクト」として「アーカイブ」し(tarおよびアーカイブ**/*を「workspace.tar.gz」として)、別のパイプラインでアーティファクトをコピーして、新しいワークスペースにuntarすることです。これにより、前のパイプラインが中断した場所から2番目のパイプラインをピックアップできます。もちろん、2番目のパイプラインを順番をずらして実行したり、複数回実行したりすることはできません。残念です。配信パイプラインプラグインはここで本当に輝いています。最初のジョブの代わりに、ビューから直接新しいパイプラインを実行します。とにかく-あまり答えはありません-しかし、私がしようとしているパスです。
編集:このプラグインは有望に見えます:
https://github.com/jenkinsci/external-workspace-manager-plugin/blob/master/doc/PIPELINE_EXAMPLES.md