首页 文章

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

提问于
浏览
2

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

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

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

--Edit--

我发现一个工作流程比通过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 回答

  • 2

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

相关问题