2016-10-07 17 views
26

前へJenkins2 Build Pipeline Pluginを使用してアプリケーションを構築し、サーバーに手動で展開していました。 旧設定: jenkins-pipeline-pluginJenkinsパイプラインのマニュアルステップの作成方法

素晴らしい作品が、私は手動ステップを作成するために、Groovyのスクリプト(Jenkinsfile)から生成された新しいジェンキンスパイプラインを、使用したいです。

これまでのところ、私はinputジェンキンのステップを思いついた。

使用済み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

を私は新しいと手動のステップ/トリガーに同じ/似た結果をachiveするにはどうすればよいですjenkins-pipelineをBuild Pipeline Pluginと先に使っていますか?

+0

私は同じ問題を抱えています。パイプラインは機能しますが、自分のビルドが成功したものとして表示され、ビルドを展開/宣伝するための手作業が必要です。 – Thomas

+0

これは "checkpoint"プラグインで解決する必要があります。しかし、現在のところOSS版ではこれはまだ可能ではありませんが、問題追跡ツール[JENKINS-33846](https://issues.jenkins-ci.org/browse/JENKINS-33846)で投票が行われています – Zigac

答えて

14

これは、Jenkinsパイプライン機能IMOの大きなギャップです。パイプラインが単一の仕事であるという事実のために提供することは間違いありません。 1つの解決策は、ワークスペースを「アーティファクト」(tarおよびarchive **/*を「workspace.tar.gz」)として「アーカイブ」し、別のパイプラインでアーティファクトをコピーして新しいワークスペースに展開することです。これにより、第2のパイプラインは、前のパイプラインがオフの場合にピックアップすることが可能になる。もちろん、第2のパイプラインを順番に実行したり、複数回実行したりすることはできません。どちらが悪いですか。 Delivery Pipeline Pluginは本当にここで輝いています。最初のジョブではなく、ビューから新しいパイプラインを実行します。とにかく - それほど答えはありませんが、その道を私は試してみるつもりです。

EDIT:このプラグインは有望に見える:

https://github.com/jenkinsci/external-workspace-manager-plugin/blob/master/doc/PIPELINE_EXAMPLES.md

+6

そのギャップは非常に大きいので、 「壊れたデザイン」と呼ぶことができます。そのために、引き続き配信パイプラインプラグインを使用しています。ジョブチェインを設定するのはちょっと複雑ですが、うまくいき、きめ細かい権限を許可します.Gitlab CIへの切り替えを検討していますが、そのパイプラインは手作業の手順をうまくやることができます。何がジェンキンスを妨害しているのかは分かりません。 –

+0

まあ、そのプラグインは本当に有望だと思うので、アップストリームとワークスペースを共有するビルドと下流のパイプラインを行う独立した自動ジョブとして上流のパイプラインを配置することができます。次に。 – kensai

関連する問題