现在使用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 回答
这是目前唯一的方法 . 虽然我知道有朝这个方向要求未来增加(Pipeline debugger) . 可能有一些选项可以直接从Java调试它,但这不是一个简单的设置 .