3. Jenkins 学习——Jenkins持续集成简介

  1. Jenkins持续集成简介

持续集成(Continuous Integration)是一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础。Jenkins 是一个开源软件项目,旨在提供一个开放易用的软件平台,使持续集成变成可能。本文正是从持续集成的基本概念入手,通过具体实例,介绍了如何基于 Jenkins 快速搭建持续集成环境。

Jenkins是一个可扩展的持续集成引擎,是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins非常易于安装和配置,简单易用。

  1. 持续集成意义
  • 持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重复过程以节省时间、费用和工作量;
  • 持续集成保障了每个时间点上团队成员提交的代码是能成功集成的。换言之,任何时间点都能第一时间发现软件的集成问题,使任意时间发布可部署的软件成为了可能;
  • 持续集成还能利于软件本身的发展趋势,这点在需求不明确或是频繁性变更的情景中尤其重要,持续集成的质量能帮助团队进行有效决策,同时建立团队对开发产品的信心。
  1. 持续集成组件
  • 一个自动构建过程,包括自动编译、分发、部署和测试;
  • 一个代码存储库,即需要版本控制软件来保障代码的可维护性,同时作为构建过程的素材库,例如SVN、GIT代码库;
  • 一个jenkins持续集成服务器(123.57.11.203服务器就是一个配置简单和使用方便的持续集成服务器)
  1. Jenkins安装部署

地址http://mirrors.jenkins-ci.org/下载适合的Jenkins版本。

Linux稳定版的Jenkins地址为:http://ftp.yz.yamagata-u.ac.jp/pub/misc/jenkins/war-stable/1.651.2/jenkins.war

http://ftp.yz.yamagata-u.ac.jp/pub/misc/jenkins/war-stable/latest/jenkins.war

由于Jenkins属于一个JAVA 代码,需要java容器才能运行jenkins,所以需要安装JDK+Tomcat,方法如下:

  1. JAVA JDK安装

#下载相应的jdk软件包,然后解压安装,我这里包名称为:jdk-7u25-linux-x64.tar.gz

# tar -xzf  jdk-7u25-linux-x64.tar.gz  ;mkdir -p /usr/java/ ;mv jdk1.7.0_25/ /usr/java/

[root@localhost home]# rpm -ivh jdk-13.0.1_linux-x64_bin.rpm
warning: jdk-13.0.1_linux-x64_bin.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:jdk-13.0.1-2000:13.0.1-ga        ################################# [100%]

 

#然后配置环境变量,这样可以任何地方引用jdk,如下配置:

#vi /etc/profile 最后面加入以下语句:

export JAVA_HOME=/usr/java/jdk1.7.0_25

export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin

export JAVA_HOME=/usr/java/jdk-13.0.1
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin

 

#source /etc/profile   #使环境变量马上生效

#java  --version    #查看java版本,看到jdk1.7.0_25版本即代表java jdk安装成功。

  1. Tomcat安装配置

#官方网站下载tomcat 6.0.30或者其他版本:

wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-6/v6.0.45/bin/apache-tomcat-6.0.45.tar.gz

tar xzf  apache-tomcat-6.0.45.tar.gz

#直接解压就可以使用,解压完成执行:

mv apache-tomcat-6.0.45  /usr/local/tomcat

把得到的war包直接扔到tomcat下webapps/ROOT/下,启动tomcat,Jenkins就安装完毕!

rm  -rf  /usr/local/tomcat/webapps/* ;

mkdir  -p /usr/local/tomcat/webapps/ROOT/;

mv jenkins.war /usr/local/tomcat/webapps/ROOT/;

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install jenkins

 

[root@localhost home]# sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
--2019-10-27 08:40:39--  https://pkg.jenkins.io/redhat-stable/jenkins.repo

Resolving pkg.jenkins.io (pkg.jenkins.io)... 52.202.51.185
Connecting to pkg.jenkins.io (pkg.jenkins.io)|52.202.51.185|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 85
Saving to: ‘/etc/yum.repos.d/jenkins.repo’

100%[========================================================================================================================>] 85          --.-K/s   in 0s      

2019-10-27 08:40:40 (9.29 MB/s) - ‘/etc/yum.repos.d/jenkins.repo’ saved [85/85]

[root@localhost home]# sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
[root@localhost home]# yum install -y jenkins
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.lzu.edu.cn
 * extras: mirror.lzu.edu.cn
 * updates: ap.stykers.moe
jenkins                                                                                                                                    | 2.9 kB  00:00:00     
jenkins/primary_db                                                                                                                         |  30 kB  00:00:00     
Resolving Dependencies
--> Running transaction check
---> Package jenkins.noarch 0:2.190.1-1.1 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==================================================================================================================================================================
 Package                               Arch                                 Version                                   Repository                             Size
==================================================================================================================================================================
Installing:
 jenkins                               noarch                               2.190.1-1.1                               jenkins                                74 M

Transaction Summary
==================================================================================================================================================================
Install  1 Package

Total download size: 74 M
Installed size: 74 M
Downloading packages:
jenkins-2.190.1-1.1.noarch.rpm FAILED                                                                                           ]   72 B/s | 9.4 kB 300:32:12 ETA
http://pkg.jenkins.io/redhat-stable/jenkins-2.190.1-1.1.noarch.rpm: [Errno 12] Timeout on http://ftp-chi.osuosl.org/pub/jenkins/redhat-stable/jenkins-2.190.1-1.1.noarch.rpm: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds')
Trying other mirror.
jenkins-2.190.1-1.1.noarch.rpm FAILED                                                                                         ]  0.9 B/s |  39 kB 24566:30:52 ETA
http://pkg.jenkins.io/redhat-stable/jenkins-2.190.1-1.1.noarch.rpm: [Errno 12] Timeout on http://ftp-chi.osuosl.org/pub/jenkins/redhat-stable/jenkins-2.190.1-1.1.noarch.rpm: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds')
Trying other mirror.
jenkins-2.190.1-1.1.noarch.rpm FAILED                                                                                         ]  1.4 B/s |  59 kB 15431:00:43 ETA
http://pkg.jenkins.io/redhat-stable/jenkins-2.190.1-1.1.noarch.rpm: [Errno 12] Timeout on http://ftp-chi.osuosl.org/pub/jenkins/redhat-stable/jenkins-2.190.1-1.1.noarch.rpm: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds')
Trying other mirror.
jenkins-2.190.1-1.1.noarch.rpm                                                                                                             |  74 MB  01:30:31     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : jenkins-2.190.1-1.1.noarch                                                                                                                     1/2
  Cleanup    : jenkins                                                                                                                                        2/2
  Verifying  : jenkins-2.190.1-1.1.noarch                                                                                                                     1/1

Installed:
  jenkins.noarch 0:2.190.1-1.1                                                                                                                                    

[root@localhost sysconfig]# service jenkins restart
Restarting jenkins (via systemctl):                        [  OK  ]
[root@localhost sysconfig]# pwd
/etc/sysconfig

 

亲测有效版本

 

Jenkins 安装——详细步骤

 

Jenkins是一个CI工具,前身是hudson,可以根据设定持续定期编译,运行响应代码,将结果可以发送至邮件,或展示成报告;

Jenkins是一个可以持续集成,持续交付,持续部署的自动化工具;

    持续集成:开发者可以频繁的将代码发送至主干,并进行自动化测试;

    持续交付:在持续集成的基础上,将代码部署到预生产环境;

    持续部署:随时deliver给客户,并且是自动化的;

 

Jenkins具有如下有点:

    1.更友好的用户界面;

    2.开源项目拥有大批的plugin;

    3.有好的用户界面使得学习成本降低;

    4.CI工具,随时deliver给用户,自动化部署;

 

Jenkins 安装可以有很多种方式,我个人使用的是yum安装,所以我重点介绍一下yum安装;

首先我们先进入jenkins官网,查看一下Download,选择LTS版本的安装步骤

具体代码在图下附上;

image.png

image.png

image.png

image.png

[root@slave1 ~]# wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
[root@slave1 ~]# rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
[root@slave1 ~]# yum clean all
[root@slave1 ~]# yum makecache
[root@slave1 ~]# yum install jenkins
[root@slave1 ~]# systemctl enable jenkins
[root@slave1 ~]# systemctl start jenkins
[root@slave1 ~]# rpm -ql jenkins
/etc/init.d/jenkins
/etc/logrotate.d/jenkins
/etc/sysconfig/jenkins
/usr/lib/jenkins
/usr/lib/jenkins/jenkins.war
/usr/sbin/rcjenkins
/var/cache/jenkins
/var/lib/jenkins
/var/log/jenkin

安装jenkins,其工作目录为/usr/lib/jenkins;

查看8080端口是否启动:

[root@slave1 ~]# ss -tnl
State       Recv-Q Send-Q  Local Address:Port                 Peer Address:Port             
LISTEN      0      128                 *:111                             *:*                 
LISTEN      0      128                 *:80                              *:*                 
LISTEN      0      5       192.168.122.1:53                              *:*                 
LISTEN      0      128                 *:22                              *:*                 
LISTEN      0      128         127.0.0.1:631                             *:*                 
LISTEN      0      100         127.0.0.1:25                              *:*                 
LISTEN      0      128         127.0.0.1:6010                            *:*                 
LISTEN      0      128         127.0.0.1:6011                            *:*                 
LISTEN      0      128         127.0.0.1:6012                            *:*                 
LISTEN      0      128                :::111                            :::*                 
LISTEN      0      50                 :::8080                           :::*                 
LISTEN      0      128                :::80                             :::*                 
LISTEN      0      128                :::22                             :::*                 
LISTEN      0      128               ::1:631                            :::*                 
LISTEN      0      100               ::1:25                             :::*                 
LISTEN      0      128               ::1:6010                           :::*                 
LISTEN      0      128               ::1:6011                           :::*                 
LISTEN      0      128               ::1:6012                           :::*

 

安装前准备工作:

  1. 安装JDK环境,去Oracle官网下载步骤在我上一篇博客

    jdk在oracle官网下载的jdk-8u121-linux-x64.tar.gz

 

        安装jdk1.8以后的版本,jdk-8u191也可以;

[root@slave1 ~]# tar -xf jdk-8u121-linux-x64.tar.gz
[root@slave1 ~]# mv jdk1.8.0_121  /usr/local/
[root@slave1 ~]# cd /usr/local/
[root@slave1 ~]# ln -sv jdk1.8.0_121/ jdk1.8
[root@slave1 ~]# vim /etc/profile.d/java.sh
[root@slave1 ~]# cat /etc/profile.d/java.sh
export PATH=$PATH:/usr/local/java1.8/bin
[root@slave1 ~]# source /etc/profile.d/java.sh

    2.安装maven环境;

        也是在maven官网下载的,可以点此下载

[root@slave1 ~]# tar -xf apache-maven-3.6.0-bin.tar.gz
[root@slave1 ~]# mv apache-maven-3.6.0  /usr/local/
[root@slave1 ~]# cd /usr/local/
[root@slave1 ~]# ln -sv apache-maven-3.6.0/ maven
[root@slave1 ~]# vim /etc/profile.d/maven.sh
[root@slave1 ~]# cat /etc/profile.d/maven.sh
export PATH=$PATH:/usr/local/maven/bin
[root@slave1 ~]# source /etc/profile.d/maven.sh

 

敲黑板,划重点:

    我们下载的是tar包,解压之后我们的家目录为/usr/local/$NAME;因为jenkins后边的全局配置需要填写jdk家目录maven家目录

 

 

1.在浏览器访问本机IP:8080,其密码为/var/lib/jenkins/secrets/initialAdminPassword内容;

可能会卡在这个界面,我们在主机上重启jenkins即可;

[root@slave1 ~]# systemctl restart jenkins

image.png

2.在/var/lib/jenkins/secrets/initialAdminPassword中查看登录密码;

[root@slave1 ~]# cat /var/lib/jenkins/secrets/initialAdminPassword

5a359f28d4f94c52a504678914c343fe

image.png

image.png

3.选择continue之后,我们选择跳过插件(skip plugin installations)安装;

image.png

4.创建登录用户;

image.png

5.选择默认即可,安装完成;

image.png

image.png

6.显示jenkins界面;

image.png

7.选择系统管理->全局安全配置,勾选上Allow anonymous read access允许匿名访问;

image.png

 

8.打开系统配置->全局工具配置;

       安装jdk和maven,并且写上对应的家目录,不要选上自动安装,建议去官网下载tar包,版本兼容性会更好,参考我上边的设置;

maven的家目录用mvn命令就可以查到;

[root@master ~]# mvn -v
Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-25T02:41:47+08:00)
Maven home: /usr/local/maven
Java version: 1.8.0_131, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-693.el7.x86_64", arch: "amd64", family: "unix"

java的家目录我设置的是/usr/local/jdk1.8

image.png

 

9.重启jenkins,读取配置;

[root@slave1 ~]# systemctl restart jenkins

image.png

10.进入jenkins;

image.png

11.安装相对应的git,ssh,gitlab等插件;

       系统管理->插件管理 (如果出现堆栈错误,无法显示插件,翻到最后有解决办法)

image.png

 

12.查看安装好的插件;

image.png

image.png

image.png

 

至此,我们的jenkins安装步骤已经完成;

 

注意

       在安装插件的时候,很可能遇到如下问题,出现堆栈错误,无法找到插件;

image.png

 

jenkins plugin提示: Update information obtained: 不可用 ago;

出现堆栈错误;

我们将/var/lib/jenkins/hudson.model.UpdateCenter.xml文件内容中的https://updates.jenkins.io/update-center.json改为http://updates.jenkins.io/update-center.json即可;即为https协议改为http协议;然后我们重启一下jenkins,插件即可正常搜索访问;

 

[root@master ~]# cat /var/lib/jenkins/hudson.model.UpdateCenter.xml
<?xml version='1.1' encoding='UTF-8'?>
<sites>
  <site>
    <id>default</id>
    <url>https://updates.jenkins.io/update-center.json</url>
  </site>
</sites>[root@master ~]#
[root@master ~]#
[root@master ~]#
[root@master ~]# vim /var/lib/jenkins/hudson.model.UpdateCenter.xml
[root@master ~]# cat /var/lib/jenkins/hudson.model.UpdateCenter.xml
<?xml version='1.1' encoding='UTF-8'?>
<sites>
  <site>
    <id>default</id>
    <url>http://updates.jenkins.io/update-center.json</url>
  </site>
[root@master ~]# systemctl restart jenkins


 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值