环境概述
随着软件开发需求及复杂度的不断提高,团队开发成员之间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题。Jenkins自动化部署可以解决集成、测试、部署等重复性的工作,工具集成的效率明显高于人工操作;并且持续集成可以更早的获取代码变更的信息,从而更早的进入测试阶段,更早的发现问题,这样解决问题的成本就会显著下降;持续集成缩短了从开发、集成、测试、部署各个环节的时间,从而也就缩短了中间出现的等待时间;持续集成也意味着开发、集成、测试、部署得以持续。所以,当配置完Jenkins 持续集成持续交付环境后,就可以把发布的任务交给集成服务器去打理了。使用 Maven(Ant) 等来实现 Java 项目自动化构建发布部署。这些工具可以帮助在构建过程中实现自动化发布、回滚等动作。
Jenkins简介
Jenkins是一个用Java编写的开源的持续集成工具。在与Oracle发生争执后,项目从Hudson项目独立。官方网站:https://jenkins.io/。
Jenkins提供了软件开发的持续集成服务。它运行在Servlet容器中(Tomcat)。它支持软件配置管理(SCM)工具(包括AccuRev SCM、CVS、Subversion、Git、Perforce、Clearcase和RTC),可以执行基于Apache Ant和Apache Maven的项目,以及任意的Shell脚本和Windows批处理命令。Jenkins的主要开发者是川口耕介。Jenkins是在MIT许可证下发布的自由软件。
Jenkins 能实时监控持续集成过程中所存在的问题,提供详细的日志文件和提醒功能, 还能用图表的形式,形象地展示项目构建的趋势和稳定性。
Jenkins 包含以下几个特点:
- 易安装:仅仅一个 jenkins.war,从官网下载该文件后,直接运行,无需额外的安装,
更无需安装数据库;
- 易配置:提供友好的 GUI 配置界面;
- 变更支持:Jenkins 能从代码仓库(SVN /Git)中获取并产生代码更新列表,并输出到编译输出信息中;
- 支持永久链接:用户是通过 Web 来访问 Jenkins 的,而这些 Web 页面的链接地址都是永久链接地址,可以在各种文档中直接使用该链接;
- 集成 E-Mail/RSS/IM:当完成一次集成时,可通过这些工具实时收取集成结果(构建一次集成需要花费一定时间,有了这个功能,就可以在等待结果过程中,干别的事情);
- JUnit/TestNG 测试报告:也就是用以图表等形式提供详细的测试报表功能;
- 支持分布式构建:Jenkins 可以把集成构建等工作分发到多台计算机中完成;
- 文件指纹信息:Jenkins 会保存构建集成所产生的 jars 文件、集成构建使用了哪个版;
- 支持第三方插件:Jenkins 支持第三方插件,这使得 Jenkins 功能变得越来越强大。
安装配置Jenkins
[root@localhost ~]# hostname jenkins
[root@localhost ~]# bash
[root@jenkins ~]# systemctl stop firewalld
[root@jenkins ~]# iptables -F
[root@jenkins ~]# setenforce 0
软件安装
请注意,Java 11是Jenkins 2.419支持的主要Java版本。如果您使用其他Java版本,可能会遇到问题。
[root@jenkins ~]# sudo yum install java-11-openjdk-devel
[root@jenkins ~]# vim /etc/profile
JAVA_HOME=/usr/local/java
PATH=$PATH:$JAVA_HOME/bin
[root@jenkins ~]#source /etc/profile
Jenkins安装方式一:war包
- 先安装tomcat将jenkins.war直接放到webapps目录下
- 通过 java -jar jenkins.war --httpPort=8080命令直接运行
官方仓库:https://pkg.jenkins.io/redhat-stable/
清华大学开源软件镜像站:Index of /jenkins/redhat/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
下载相应的数据包即可,我这里使用的是Jenkins 2.419-1.1.noarch.rpm
Jenkins安装方式二:rpm方式(推荐)
[root@jenkins ~]# ll
总用量 87260
-rw-------. 1 root root 1417 6月 19 21:55 anaconda-ks.cfg
-rw-r--r--. 1 root root 89346360 8月 21 11:21 jenkins-2.419-1.1.noarch.rpm
[root@jenkins ~]# rpm -ivh jenkins-2.419-1.1.noarch.rpm
警告:jenkins-2.419-1.1.noarch.rpm: 头V4 RSA/SHA512 Signature, 密钥 ID ef5975ca: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:jenkins-2.419-1.1 ################################# [100%]
启动jenkins jenkins start
浏览器访问测试: http://192.168.50.53:8080
解锁Jenkins,密码会弹出
输入授权密码,然后点击下一步
稍等一会来导安装插件选择的页面。选择自动安装
这里报错 多刷新几次才会成功
自己创建管理员用户
下一步
进入
安装 Jenkins 必要插件
在 Jenkins 首页中,点击左侧的Manage Jenkins>>Manage Plugins>>可选插件,在过滤搜索框中输入要安装的插件,并勾中其左侧的复选框,点击“直接安装”即可开始插件安装操作。
如果密码忘了
修改 Jenkins 配置文件来重置管理员密码。具体步骤如下:
- 停止 Jenkins 服务
- 编辑 Jenkins 配置文件(默认路径为 /var/lib/jenkins/config.xml),找到
<useSecurity>true</useSecurity>
这一行,将其改为<useSecurity>false</useSecurity>
- 启动 Jenkins 服务
- 打开 Jenkins 网页,将用户安全设置为任何人都可以做任何事情
- 进入到 "People" 页面,找到管理员用户,点击 "Reset Password" 按钮来重置管理员密码。
- 修改 Jenkins 配置文件,把
<useSecurity>false</useSecurity>
改回<useSecurity>true</useSecurity>
- 重启 Jenkins 服务
请注意,在执行此操作之前,请备份 Jenkins 配置文件。