是否可以在Jenkins文件中放置断点以进行调试?

时间:2017-09-12 14:52:24

标签: jenkins jenkins-plugins jenkins-pipeline

现在使用Jenkinsfiles整理好工作流程有点慢,因为我必须创建一个作业,并从UI运行它以获得有关它是否有效的反馈。

我想知道是否有办法在Jenkins文件中放置断点,这样我就可以玩弄它并感受可用的库/方法/变量。

这是可能的吗?或者我是否必须坚持目前在Jenkins UI中编辑Jenkins文件然后重新运行构建的过程?

- 编辑 -

我发现工作流程的工作速度比通过UI进行更改要快一些。 Jenkins中的SSH服务器公开了一个名为declarative-linter的命令和一个名为replay-pipeline的命令。现在我只是在本地开发脚本,并在进行编辑后重新运行这些命令。

基本上,我的工作流程是这样的:

  • 根据自己的喜好编辑脚本
  • 运行lint检查。我在我的ssh配置文件中设置了jenkins,所以基本上我使用Powershell运行它:

gc Jenkinsfile | ssh jenkins declarative-linter

  • 通过重播管道构建来运行新更改的脚本:

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

  • 运行console命令以拖尾日志:

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

我所做的就是将这些行包装到PowerShell函数中,在我在本地编辑脚本后,运行一个命令来执行所有这些以验证更改。它肯定更复杂,但转换时间比使用Jenkins UI快一点,而且我可以使用我喜欢的编辑器编辑脚本。希望将来有更好的工具来调试Jenkinsfiles。

1 个答案:

答案 0 :(得分:2)

这是目前唯一的方法。虽然我知道有朝向这个方向的未来增加请求(Pipeline debugger)。可能有一些选项可以直接从Java调试它,但这不是一个简单的设置。