自由风格作业与流水线作业中 Jenkins 流水线脚本的添加方式对比

6

我目前正在尝试为我的微服务部署构建CI/CD流水线。我创建了声明性流水线脚本,包括不同阶段的代码仓库拉取、构建、测试、Kubernetes部署等等。我想触发后提交脚本,每次提交代码到代码仓库时都需要启动Jenkins任务。

当我尝试创建Jenkins任务时,我选择了“新建 -> 自由风格”选项。但是没有地方可以添加我的流水线脚本。

然而,当我选择“新建 -> 流水线”时,我有添加流水线脚本的空间。但我没有源代码管理选项来添加我的代码仓库检出链接等信息。

我注意到,在自由风格中,我只能看到源代码管理选项。但它没有任何区域可用于添加我的流水线脚本。

在这里,我需要添加我的声明性流水线脚本,并且我需要引用我的SVN源代码管理。而且,我将脚本存储在Jenkins中。我没有使用Jenkinsfile(从SCM轮询选项)。我应该如何添加到Jenkins任务?我需要添加在自由风格或流水线中吗?

1个回答

5
如果您想让Jenkins作业在每次提交时触发,那么需要使用SVN服务器来触发该作业。这可以通过一个post-commit钩子完成。我假设您正在使用Jenkins的Subversion插件。 SVN插件文档说明了如何创建提交钩子:https://wiki.jenkins.io/display/JENKINS/Subversion+Plugin 与轮询方式相比,这种方法至少有三个优点:
  1. 轮询只能每分钟进行一次,这意味着您将无法在每次提交时触发作业。
  2. 当作业繁忙时,轮询会停止,而提交钩子将继续向队列添加作业,确保每个提交都被单独检查。这也可能是一个缺点:当作业执行时间过长且存在许多提交时,每个提交的吞吐量时间可能会变得非常长。
  3. 每分钟轮询会对SVN服务器增加额外的负载。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接