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