前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jenkins实战(一):Jenkins入门及安装

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

作者头像
xcbeyond
发布2020-03-25 15:13:03
1.1K0
发布2020-03-25 15:13:03
举报
文章被收录于专栏:技术那些事技术那些事

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进行安装:

[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

[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包,会比较慢,请耐心等待安装完毕即可。

[root@xcbeyond ~]# yum install jenkins

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

[root@xcbeyond ~]# systemctl start jenkins

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

[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服务器的防火墙关掉。

[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/
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序猿技术大咖 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、Jenkins是什么
  • 二、CI/CD是什么
    • 1. CI (持续集成)
      • 2. CD(持续交付)
      • 三、Jenkins安装
        • 1. 准备工作
          • 2. 安装JDK1.8
            • 3. 安装Jenkins
              • 4. 初始化、配置Jenkins
              相关产品与服务
              持续集成
              CODING 持续集成(CODING Continuous Integration,CODING-CI)全面兼容 Jenkins 的持续集成服务,支持 Java、Python、NodeJS 等所有主流语言,并且支持 Docker 镜像的构建。图形化编排,高配集群多 Job 并行构建全面提速您的构建任务。支持主流的 Git 代码仓库,包括 CODING 代码托管、GitHub、GitLab 等。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档