Jenkins 管道脚本在 Free Style Job 与 Pipeline Job 中的添加

Jenkins pipeline script addition in Free Style Job Vs Pipeline Job

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

当我尝试创建 Jenkins 作业时,我选择了新建 -> 自由样式选项。但是没有可以添加管道脚本的区域。

当我选择新建 -> 管道时,我有 space 用于添加管道脚本。但是我没有源代码管理选项来添加我的存储库检出 link 和所有。

我观察的时候,只看到free style的source code management选项。但是它没有任何区域可以添加我的管道脚本。

这里我需要添加我的声明式管道脚本,我还需要参考我的SVN源代码管理。我在 Jenkins itself.I 中存储脚本,我没有使用 Jenkinsfile(从 SCM 选项轮询)。我如何添加詹金斯的工作?我需要添加 Free style 还是 pipeline?

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

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

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