1、Jenkins创建多分支job
1.1 打开Blue Ocean
1.2 创建流水线
点击创建流水线
这里代码仓库选择Git,输入仓库地址,并输入gitlab服务器的用户名和密码。
点击创建流水线,此时可以看到正在创建
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5AaXxkKB-1675592761395)(null)]
由于流水线是基于Jenkinsfile创建的,我们还没有配置这个东西,所系会看到上图。
这里需要先配个gitlab
看Jenkinsfile
点击保存,可以看到多分支流水线日志
现在提示找不到Jenkinsfile这个文件,那我们去给它创建一个
1.3 新建Jenkinsfile
项目中新建Jenkinsfile,并上传到gitlab仓库(这个文件内容非常简单,只是用于测试)
现在仓库中两个分支,一个main一个master
main分支下Jenkinsfile内容:
master分支下Jenkinsfile内容:
1.4 执行构建
重新scan,点击立即Scan多分支流水线
查看日志如下。
此时构建是成功的。main分支和master分支的Jenkinsfile都找到了。
查看blue ocean中的任务
此时我们就可以单独指定某个分支分运行,在后面的按钮中
点击重新构建
main分支日志:
master分支日志:
此时就实现基于多分支分开执行不同的构建,这种方式必须基于Jenkinsfile。
2、声明式流水线与脚本式流水线比较
2.1 声明式流水线
好处
- 更像是在Jenkins web ui中的操作
- 可读性比较高
- 可以使用blue ocean自动生成
- 支持语法检查
坏处
- 代码逻辑能力比脚本式弱,不能完成特别复杂的任务
2.2 脚本式流水线
好处
- 更少的代码和弱规范要求
- 更灵活的自定义代码操作
- 不受约束,可以构建特别复杂的工作流和流水线
坏处
- 读写对编程要求比较高
- 比声明式流水线代码更复杂
到这里,简单的流水线入门就介绍完了,但这些都还只是皮毛,我本身是开发不是运维,学习这些知识想学一些CI/CD和DevOps相关的知识,所以讲解比不上专业的运维,就当做知识面的拓展了。想了解的更多还得去官网看文档:https://www.jenkins.io/zh/