2017-09-12 16 views
2

現在、Jenkinsfilesを使用して良いワークフローを整理するのは、ジョブを作成してUIから実行して、動作するかどうかのフィードバックを得る必要があるため、少し遅いです。デバッグのためにJenkinsfileの中にブレークポイントを配置することは可能ですか?

Jenkinsfileの中にブレークポイントを配置して、私が周りを歩くことができ、利用可能なライブラリ/メソッド/変数の感触を得る方法があるのだろうかと思っていました。

これは可能ですか?または、Jenkins UIでJenkinsfileを編集してからビルドを再実行するという私の現在のプロセスに固執する必要がありますか?

--Edit--

私はUIを使用して変更を行うよりも少し速く動作するワークフローを見つけました。 JenkinsのSSHサーバーは、declarative-linterというコマンドとreplay-pipelineというコマンドを公開しています。今私はちょうどローカルでスクリプトを開発し、編集した後にこれらのコマンドを再実行します。

だから、基本的に、私のワークフローは、このようなものです:

  • 編集私の好みに合わせてスクリプト
  • は、糸くずのチェックを実行します。私は基本的に、私はPowerShellを使用して、これを実行して、私のSSHの設定ファイルでジェンキンスを設定している:

gc Jenkinsfile | ssh jenkins declarative-linter

  • 実行パイプラインのビルドを再生することにより、新たに変更されたスクリプト:

gc Jenkinsfile | ssh jenkins replay-pipeline <name of my job with branch name>

  • コンソールコマンドを実行してログをテールします。

ssh jenkins console <name of my job with branch name>

私がしたすべては、PowerShellの関数にこれらの行をラップし、私は変更を検証するために、すべてこれを実行するために、1つのコマンドを実行して、私はローカルでスクリプトを編集した後でした。それは間違いなく複雑ですが、JenkinsのUIを使用していたときよりもターンアラウンドタイムが少し速くなりました。また、お気に入りのエディタを使用してスクリプトを編集することもできます。うまくいけば、将来、Jenkinsfilesのデバッグに関するツールが改善されるでしょう。

答えて

2

これは現在のところ唯一の方法です。私はこの方向への将来の追加要求があることを知っているが(Pipeline debugger)。おそらく、Javaから直接これをデバッグするオプションがいくつかありますが、これは簡単な設定ではありません。

関連する問題