自由式作业与管道作业中的Jenkins管道脚本添加

时间:2019-06-25 06:23:59

标签: jenkins svn jenkins-pipeline

当前,我正在尝试为我的微服务部署构建CI / CD管道。我创建了声明性管道脚本,包括在不同阶段进行存储库提取,构建,测试,Kubernetes部署等。而且我正在尝试触发提交后脚本,该脚本需要为每次对存储库的提交启动Jenkins作业。

当我尝试创建Jenkins作业时,我选择了New-> Free Style选项。但是我没有地方可以添加管道脚本。

当我选择New-> Pipeline时,我有空间添加管道脚本。但是我无法选择源代码管理来添加我的存储库签出链接和所有内容。

当我观察时,我只看到自由样式的源代码管理选项。但是它没有添加我的管道脚本的区域。

在这里,我需要添加声明性管道脚本,还需要引用SVN源代码管理。而且我将脚本存储在Jenkins本身中。我没有使用Jenkinsfile(从SCM选项中轮询)。我该如何添加詹金斯的工作?我需要添加自由样式或管道吗?

1 个答案:

答案 0 :(得分:5)

如果您希望在每次提交时触发您的Jenkins作业,那么必须由SVN服务器来触发该作业。这可以通过提交后的钩子来完成。我假设您在Jenkins中使用Subversion插件。 SVN插件文档说明了如何创建提交挂钩:https://wiki.jenkins.io/display/JENKINS/Subversion+Plugin

与轮询相比,这种方法至少具有三个优点:

  1. 投票只能每分钟进行一次,这意味着您将无法在每次提交时触发作业
  2. 在作业繁忙时轮询停止,而提交挂钩将继续在队列中添加作业,从而确保分别检查每个提交。这也可能是一个缺点:当作业执行时间太长,并且提交次数很多时,每次提交的吞吐时间会变得很烦人
  3. 每分钟轮询会给SVN服务器带来额外的负担