2016-11-16 20 views
1

私たちは、「検証」(configrmation)ステップとジェンキンスのためのGroovyスクリプトを持っている:ジェンキンスパイプライン、ユーザー入力 - 中止の場合、アクション

... 
def deploy_prod_verify() { 

    stage 'Verify' 
    input id: 'Deploy', message: 'Is Blue node fine? Proceed with Green node deployment?', ok: 'Deploy!' 

} 
... 

私の質問は - すべてがすなわち(正常に動作します - キーを押した場合、「デプロイします!」 - 次のステージが始まりました)。

しかし、「Abort」を押した場合、Jenkinsで別の機能を実行するにはどうすればよいですか?

Now - Jenkinsは現在のジョブを中止します。代わりに別の関数(ロールバック)を実行したいと思います。

ドキュメント「here」が見つかりましたが、「中止」アクションに関連するものは表示されません。

は、私が「中止」のAjax呼び出しを実行することを参照してください。

<a href="#" onclick="new Ajax.Request('http://<JENKINS HOST>/job/EU-api-staging-build/72/input/Deploy/abort'); return false">Abort</a> 

を私は理解して - とにかくこのDeploy/abortを処理する方法はありません。

答えて

2

、ここにあなたがそれを行うことができます方法は次のとおりです。

def deploy_prod_verify() { 
    stage ('Verify'){ 
     try { 
      input id: 'Deploy', message: 'Is Blue node fine? Proceed with Green node deployment?', ok: 'Deploy!' 
      do whatever you need... 
     } catch (error) { 
      If an error is caught... do this... 
     } 
    } 
} 
関連する問題