这可能吗?
假设我有一个Jenkinsfile,如果我运行Jenkinsfile,则应该从Jenkins服务器执行Jenkinsfile。假设尚未通过Jenkins UI配置该作业。
#1 楼
我以前做过本质上,您可以使用Jenkins CLI导入/导出作业,这将允许您使用要运行的定义来创建和/或更新作业。不管是JenkinsFile还是一些时髦的脚本等等。请查看此博客以获取详细信息。一旦(重新)定义了作业,您将只需使用相同的Jenkins CLI远程执行它。您可以从CLI检查作业的进度,甚至可以阅读日志以查看进度。我不能共享代码,因为版权是我以前的雇主之一拥有的,但是很容易重新创建。
#2 楼
我假设您想在本地运行以测试逻辑?如果是这样,那么有一个针对Jenkins声明式/脚本化管道的单元测试框架。我还没有亲自使用过它,但是这使我能够在本地测试存根逻辑。或者,由于您不是GUI的粉丝,您可以看看Jenkins X,它具有非常强大的CLI而且是由gitops驱动的。
评论
如何使用jenkins-cli调用Jenkins api?你为什么需要这个?为什么用户界面不适合您?
@ 030我不是GUI的粉丝:)
有趣。 Jenkins本身是一个UI,但是如果您真的不喜欢UI,则可以使用jenkins-cli。
我出于测试目的和交叉兼容性而对此感兴趣。当我们需要手动调整以及本地CLI终端脚本供开发人员验证其功能时,我希望能够基于常规multibranch / jenkinsfile以及参数化GUI作业进行自动构建。