我将基本上是自定义CI服务器的内容重写为严重依赖全局管道库的Jenkins管道作业。
到目前为止,Jenkins管道已经成为一个很棒的工具了,但我对于编写步骤的首选方法是什么感到困惑......你最好是在groovy中编写步骤的内容,还是在shell中与sh步骤?我看到使用sh步骤和炮轰的一个主要缺点是处理错误更加困难。例如,如果由于源目录不存在而复制dir文件错误,我想要处理的方式与目标位置磁盘空间不足的方式不同。
首选方法是什么?
答案 0 :(得分:0)
我建议尽可能多地使用groovy,这样您就可以轻松地调整脚本以便在平台之间移动。
实施例: 假设您使用shell步骤然后需要支持Windows操作系统,那么您可能需要重写CMD的步骤或使用powershell,使用groovy会使这个问题过时。
因此我推荐groovy,即使有与之相关的学习曲线。
答案 1 :(得分:0)
使用sh步骤。您在groovy中编写的任何内容都只能在主服务器上运行,而sh步骤将在主节点和从属节点上运行。管道实际上仅用于流量控制,内置了一些步骤以在工作空间中执行操作。