Jenkins是一个CI工具,前身是hudson,可以根据设定持续定期编译,运行响应代码,将结果可以发送至邮件,或展示成报告;
Jenkins是一个可以持续集成,持续交付,持续部署的自动化工具;
持续集成:开发者可以频繁的将代码发送至主干,并进行自动化测试;
持续交付:在持续集成的基础上,将代码部署到预生产环境;
持续部署:随时deliver给客户,并且是自动化的;
Jenkins具有如下有点:
1.更友好的用户界面;
2.开源项目拥有大批的plugin;
3.有好的用户界面使得学习成本降低;
4.CI工具,随时deliver给用户,自动化部署;
Jenkins 安装可以有很多种方式,我个人使用的是yum安装,所以我重点介绍一下yum安装;
首先我们先进入jenkins官网,查看一下Download,选择LTS版本的安装步骤
具体代码在图下附上;
[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 :::*
安装前准备工作:
安装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
2.在 /var/lib/jenkins/secrets/initialAdminPassword 中查看登录密码;
[root@slave1 ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
5a359f28d4f94c52a504678914c343fe
3. 选择 continue 之后,我们选择跳过插件( skip plugin installations )安装;
4.创建登录用户;
5.选择默认即可,安装完成;
6.显示jenkins界面;
7. 选择 系统管理 -> 全局安全配置 ,勾选上 Allow anonymous read access 允许匿名访问;
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
9.重启jenkins,读取配置;
[root@slave1 ~]# systemctl restart jenkins
10.进入jenkins;
11.安装相对应的git,ssh,gitlab等插件;
系统管理 -> 插件管理 (如果出现堆栈错误,无法显示插件,翻到最后有解决办法)
12.查看安装好的插件;
至此,我们的jenkins安装步骤已经完成;
注意 :
在安装插件的时候,很可能遇到如下问题,出现堆栈错误,无法找到插件;
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