Jenkins实战(一):Jenkins入门及安装

2020-03-25 15:13:03 浏览数 (1)

Jenkins对于开发者而言,应该不会陌生。在软件开发、部署阶段,为了实现自动化,大家都会首选Jenkins工具来完成构建自动化,是开发中不可缺少的一部分。本系列《Jenkins实战》文章将会介绍在实际工作中,Jenkins是如何使用、如何发挥它的作用的,如何协助我们更为高效的工作。这也算是一种工作记录总结吧,与大家一起分享。

一、Jenkins是什么

Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。并且提供了非常有好的操作界面,主要用于持续、自动构建/测试软件项目、监控外部任务的运行。

通常与版本管理工具、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。

官网:https://jenkins.io

它有如下特性:

  • 开源的java语言开发持续集成工具,支持CI,CD;
  • 易于安装部署配置:可通过yum安装,或下载war包以及通过docker容器等快速实现安装部署,可方便web界面配置管理;
  • 消息通知及测试报告:集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知,生成JUnit/TestNG测试报告;
  • 分布式构建:支持Jenkins能够让多台计算机一起构建/测试;
  • 文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等;
  • 丰富的插件支持:支持扩展插件,你可以开发适合自己团队使用的工具,如git,svn,maven,docker等。

二、CI/CD是什么

在使用或提及到Jenkins时,会常常听到CI、CD这两个术语,在此,有必要单独介绍说明一下,以备后续章节提及时不再迷茫。

1. CI (持续集成)

CI(Continuous Integration),中文叫法是持续集成,是是一个让开发人员将工作集成到共享分支中的过程,从而增强写作开发。

持续集成强调开发人员提交了新代码之后,立即进行构建、测试。根据测试结果,我们可以确定新代码和原有代码是否正确地集成在一起。

如下图所示过程:

2. CD(持续交付)

CD(Continuous Delivery),中文叫法是持续交付,是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境中(如:准生产环境)。

比如,我们完成单元测试后,可以把代码部署到连接数据库的Staging环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境。下图反映的是CI/CD 的大概工作模式。

三、Jenkins安装

1. 准备工作

以下是Jenkins官方对安装服务器、软件的建议要求。

  • 机器要求:
    • 256 MB 内存,建议大于 512 MB
    • 10 GB 的硬盘空间(用于 Jenkins 和 Docker 镜像)
  • 需要安装以下软件:
    • Java 8 ( JRE 或者 JDK 都可以)
    • Docker

我这里将准备的是在CentOS 7.5环境上,采用非docker方式进行安装。

2. 安装JDK1.8

如果已经安装,请忽略该步骤。

执行命令yum install -y java-1.8.0进行安装:

代码语言:javascript复制
[root@xcbeyond ~]# yum install -y java-1.8.0

3. 安装Jenkins

1)执行wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo来获取jenkins.repo

代码语言:javascript复制
[root@xcbeyond ~]# wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
[root@xcbeyond ~]# rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

如果之前导入过jenkins key,执行rpm --import将会失败,可以忽略。

2)执行yum install jenkins命令来安装Jenkins。在安装的过程中会下载一些rpm包,会比较慢,请耐心等待安装完毕即可。

代码语言:javascript复制
[root@xcbeyond ~]# yum install jenkins

3)执行systemctl start jenkins命令来启动Jenkins。

代码语言:javascript复制
[root@xcbeyond ~]# systemctl start jenkins

4)执行ps aux | grep jenkins命令来查看Jenkins的启动状态、及启动时的一些参数。

代码语言:javascript复制
[root@xcbeyond ~]# ps aux | grep jenkins
jenkins   6212 208 2.4 5535708 197740 ?     Ssl 19:33   0:41 /etc/alternatives/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --daemon --httpPort=8080 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20
root       6264 0.0 0.0 112720   980 pts/0   S    19:33   0:00 grep --color=auto jenkins

通过查看Jenkins的启动状态,可以知道Jenkins的默认安装目录(JENKINS_HOME)位于/var/lib/jenkins,日志位于/var/log/jenkins/jenkins.log

4. 初始化、配置Jenkins

截止目前,只是完成了Jenkins的基础安装,要想能够使用,还需登录到Web页面进行初始化、配置。

1)首次访问,登录。

打开浏览器,访问地址ip:8080,其中ip为安装Jenkins服务器的真实ip。

注意:如果ip:8080访问不了,可能是由于8080端口没有对外开放,可以将Jenkins服务器的防火墙关掉。

代码语言:javascript复制
[root@xcbeyond ~]# systemctl stop firewalld.service

页面上提示需要输入管理员密码,在/var/lib/jenkins/secrets/initialAdminPassword中找到密码,输入密码,点击【继续】按钮,进行初始化,稍等片刻,将会进入“新手入门”页面。

2)安装插件。

在这里我选择【安装推荐的插件】,完成选择Jenkins插件即可,如下图所示:

接下来就开始进行插件安装,耐心等待,直到完成,点击【继续】操作。(这个过程比较慢,喝杯茶,等待...)

(安装过程中,可能有部分插件安装失败,你可以选择【重试】或者【继续】操作,因为插件在后续使用的过程中也是可以在陆续安装的。)

3)创建管理员用户,点击【保存并完成】。

4)实例配置。

提示配置Jenkins URL,这里保持默认即可,继续点击【保存并完成】。

至此,Jenkins已安装就绪,可以正常使用了。

参考文章:

  1. https://jenkins.io/zh/doc/
  2. https://pkg.jenkins.io/redhat-stable/

0 人点赞