jenkins - 自由样式作业与流水线作业中的 Jenkins 流水线脚本添加
问题描述
目前我正在尝试为我的微服务部署构建 CI/CD 管道。我在不同阶段创建了声明性管道脚本,包括存储库拉取、构建、测试、Kubernetes 部署等。我正在尝试触发提交后脚本,该脚本需要为每次提交到存储库启动 Jenkins 作业。
当我尝试创建 Jenkins 作业时,我选择了 New -> Free Style 选项。但是没有可以添加管道脚本的区域。
当我选择 New -> Pipeline 时,我就有了添加管道脚本的空间。但是我没有源代码管理选项来添加我的存储库签出链接等等。
当我观察时,我只看到自由风格的源代码管理选项。但它没有任何区域可以添加我的管道脚本。
在这里,我需要添加我的声明性管道脚本,还需要参考我的 SVN 源代码管理。而且我将脚本存储在 Jenkins 本身中。我没有使用 Jenkinsfile(从 SCM 轮询选项)。我怎样才能加入詹金斯的工作?我需要添加自由样式或管道吗?
解决方案
如果您希望在每次提交时触发您的 Jenkins 作业,那么必须由 SVN 服务器触发该作业。这可以通过提交后挂钩来完成。我假设您在 Jenkins 中使用 Subversion 插件。SVN 插件文档解释了如何创建提交挂钩:https ://wiki.jenkins.io/display/JENKINS/Subversion+Plugin
与轮询相比,这种方法至少具有三个优点:
- 轮询每分钟只能发生一次,这意味着您将无法在每次提交时触发作业
- 作业忙时轮询停止,而提交钩子将继续在队列中添加作业,保证每个提交都被单独检查。这也可能是一个缺点:当作业执行时间过长并且有很多提交时,每次提交的吞吐量时间会变得非常长
- 每分钟轮询会在您的 SVN 服务器上引入额外的负载
推荐阅读
- c# - 过滤 IQueryable 会带回错误的结果
- kubernetes - 防火墙/限制 Kubernetes pod 出口流量
- python - 运行 Rasa Stack 时超出最大重试次数和连接被拒绝错误
- sql-server - 如何获取 sql server 侦听器名称
- react-native - 哪个关键字我可以在 Play 商店中找到我的应用程序?
- redirect - 如何使用 Lamda 边缘函数处理 ClodFront 重定向
- docker - 无法运行 docker compose 显示错误 -bash: /usr/bin/docker-compose: No such file or directory
- excel - 将形状或表格从 Excel 粘贴到 Word 时出现运行时错误(默认保存格式相关)
- java - 将侦听器设置为自定义视图
- php - 将数据从爆炸数组插入数据库的问题