web-dev-qa-db-ja.com

Jenkinsパイプラインの手動ステップの作成方法

以前のJenkins2では、 Build Pipeline Plugin を使用してアプリケーションをビルドし、サーバーに手動でデプロイしていました。古い構成: jenkins-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にタイムアウトを追加することはできますが、これによりビルドを選択/トリガーして後でデプロイすることはできません。

jenkins-pipeline

Build Pipeline Pluginの以前のように、新しいjenkins-pipelineを使用して手動のステップ/トリガーで同じ/類似の結果を得るにはどうすればよいですか?

51
Zigac

これは、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

26
Michael Andrews