持续集成(Continuous integration,CI)是软件开发和发布流程中最重要的组成部分,有利于加快开发进度。Jenkins是常用的持续集成管理工具,本文将简要介绍Jenkins持续集成工具。
目录
持续集成简介
持续集成(Continuous integration,CI)概念由Martin Fowler 于2006年提出:https://martinfowler.com/, 频繁地(一天多次)将代码集成到主干。
Continuous Integration doesn’t get rid of bugs, but it does make them dramatically easier to find and remove.
Martin Fowler, Chief Scientist, ThoughtWorks
持续集成好处:
- 快速发现错误:持续自动化测试,可以快速发现和定位错误,节约时间。
- 易于定位项目进度,使项目更加透明。
- 导致更快的发布
Jenkins介绍
Jenkins官网:https://www.jenkins.io/
Jenkins官网文档:https://www.jenkins.io/doc/
Jenkins是免费开源的持续集成管理工具,基于Java开发,可以跨平台运行,提供持续集成和持续交付服务 ( continuous integration or continuous delivery,CI/CD),自动化软件开发流程中的构建、测试和部署工作。Jenkins插件丰富,有超过1000个插件来支持构建、部署自动化,满足任何项目的需要。
持续集成工具比较:https://en.wikipedia.org/wiki/Comparison_of_continuous_integration_software
Docker Jenkins安装和启动方法参考:Docker搭建持续集成平台Jenkins
Jenkins配置
系统配置
进入Manage Jenkins -> System Configuration -> Configure System进行系统配置,有很多配置参数可以配置,比如:
- Jenkins URL:服务器域名
- 管理员邮箱
- Github配置
- 默认 Shell:bash
- 等
在windows代理节点中,默认命令行使用cmd,如果你想使用Git Bash,可以在系统配置中进行配置。进入Manage Jenkins -> System Configuration -> Configure System,下拉到shell,配置Shell executable为你的命令行文件路径,比如我的git bash路径为:D:/tools/Git/bin/sh.exe
插件管理
Jenkins插件众多,扩展了很多功能。进入Manage Jenkins -> System Configuration -> Manage Plugins进行插件的管理。
可以先点击Advanced 设置更新网址URL:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
然后进行插件的安装更新操作, 插件的安装方法,在Available中的输入框输入要安装的插件名称关键字进行搜索,选择要安装的插件,点击“Download now and install after restart”进行下载安装。
Jenkins推荐插件:
- Multiple SCMs plugin
- Rebuilder
- Safe Restart Plugin
- Pipeline
- Text Finder
- Blue Ocean
- Allure
用户权限控制
用户管理
在Jenkins的初始化安装过程中会先注册一个管理员用户,管理员用户可以创建一般用户,管理员用户具有最高权限。
进入Manage Jenkins -> Security -> Configure Global Security进行安全配置
可以勾选允许用户注册,团队人数较少时,一般建议不勾选,由管理员创建
进入Manage Jenkins -> Security -> Manage Users进行用户管理,可以进行用户删除、修改和添加操作
用户权限管理
可以使用 Matrix Authorization Strategy 插件对用户权限进行管理。
进入Manage Jenkins -> Security -> Configure Global Security -> Authorization
可以选择【安全矩阵】(个人权限)对用户进行权限管理。
项目权限配置
如果要对项目进行授权管理,让不同的用户管理不同的项目,一种方式是勾选【项目矩阵】:
配置好后,在项目内可以配置用户权限,选择一个job,进入项目配置,可以配置项目权限:
除了这种方式外,还有一种方式就是对用户进行角色管理,这个功能由Role-based Authorization Strategy插件提供,先安装这个插件。
进入Manage Jenkins -> Security -> Configure Global Security -> Authorization,勾选Role-Based Strategy:
在Mange Jenkins -> Security中会出现Manage and Assign Roles,
点击Manage and Assign Roles,发现可以管理和分配角色。
先进入【Manage Roles】,添加tester和developer两个Global roles,分配一些权限。
添加Item roles,
添加Node roles,
配置完成后,添加tester1和developer1两个用户。
进入【Assign Roles】,配置Global roles
配置Item roles
配置Node roles