一、前言
Jenkins是一款开源CI&CD软件,用于自动化各种任务,包括构建、测试和部署软件,支持自定义工具集、多种交付通道。
CI: Continuous integration,持续集成,一种软件开发实践。每次集成(源代码变更后)都通过自动化的构建(包括编译、发布、自动化测试)来验证,从而尽快地发现集成错误,大大减少集成问题。持续集成过程:先把代码放入git,Jenkins从git获取代码进行构建、测试、生成结果再返回给客户端。
CD: Continuous Delivery,持续交付,指整个流程链(管道),它自动监测源代码变更并通过构建、测试、打包和相关操作运行它们以生成可部署的版本。包括持续集成、持续测试、持续部署。
持续交付管道: 将源代码转换为可发布产品的多个不同的任务和作业通常串联成一个软件管道,一个自动流程成功完成后会启动管道中的下一个流程。这些管道有许多不同的叫法,如持续交付管道、部署管道、软件开发管道。
自动化部署流程图:
持续集成的优点:
1、降低风险,由于持续集成不断去构建,编译和测试,可以在早期发现问题,减小修复产生的代价
2、对系统健康持续检查,减少发布风险带来的问题
3、减少重复性工作
4、持续部署,提供可部署单元包
5、持续交付可供使用的版本
Jenkins 的特征:
1、开源的Java语言开发持续集成工具,支持持续集成,持续部署。
2、易于安装部署配置,可通过yum安装或下载war包以及通过Docker容器等快速实现安装部署,可方便web界面配置管理。
3、消息通知及测试报告,集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过E-mail通知,生成JUnit/TestNG测试报告。
4、分布式构建,支持Jekins能够让多台计算机一起构建/测试。
5、文件识别,Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。
6、丰富的插件支持,支持扩展插件,如 git、svn、maven、docker 等等。
二、部署Jenkins环境
Windows环境下安装Jenkins:
步骤一:安装JDK11+ (如果版本低,很可能插件安装不了)
步骤二:下载Jenkins包:https://www.jenkins.io/download
下载后的文件:
步骤三:双击 jenkins.mis,点击next–>next–>选择‘Run service as LocalSystem(not recommended)’–>修改端口号,点击Test Port测试端口号是否可用–>next–>选择本地JDK安装路径–>next–>nexrt—>next–>install–>finish
步骤四:访问本地Jenkins http://localhost:1010/ 进行设置密码
密码设置:首次登陆需要找到动态设置的初始密码,复制进管理员密码
步骤五:安装自定义插件,可直接安装推荐插件,也可跳过此步骤,next—>创建第一个账户,默认是admin,密码:admin
三、常用Jenkins插件安装
方法一:直接选择插件进行安装:可选插件
方法二:下载插件后直接手动选择安装:高级–>Deploy Plugin
2.1、用户权限管理插件
安装Role-based Authorization Strategy插件
开启权限全局安全配置 Manage Jenkins —> Configure Global Security
授权策略切换为 Role-Based Strategy,保存
管理和分配角色:Manage Jenkins—>Manage and Assign Roles—>Manage Roles
新增用户:Manage Jenkins —>Security—>Manage Users—>新建用户
给新增的角色赋予权限:Manage Jenkins —> >Manage and Assign Roles—>Assign Roles
四、Jenkins凭证管理
凭证用来存储需要密文保护的数据库密码、Gitlab密码信息、Docker私有仓库密码等,以便Jenkins可以和这些第三方的应用进行交互。
步骤:
1、安装Credentials Binding插件
2、安装Git插件(可查看相关安装教程)
3、安装Git工具(可查看相关安装教程,此处直接使用Gitee,不需要安装)
4、Manage Jenkins—>Manage Credentials—>全局凭据—>添加凭据–>选择密文类型(是采用账号密码登录代码托管工具,还是采用ssh用户名和私钥,或者密钥文件等)
类型一:采用账号密码类型:
添加凭据
添加成功后:
Gitee代码托管工具
项目–>配置–>源码管理:配置代码URL
使用上面添加的凭据
类型二:采用ssh密钥类型:
步骤一:生成公钥和私钥
$ ssh-keygen -t rsa
步骤二:把生成的公钥放在代码托管工具中(以Gitee为例),私钥复制进Manage Jenkins—>Manage Credentials—>全局凭据–>添加凭据–>ssh username with private key
添加成功以后:
进行构建项目:Build Now —>点击Build History下的当前构建—>点击 控制台 查看执行命令