Jenkins是一个CI工具,前身是hudson,能够根据设定持续按期编译,运行响应代码,将结果能够发送至邮件,或展现成报告;
java
Jenkins是一个能够持续集成,持续交付,持续部署的自动化工具;linux
持续集成:开发者能够频繁的将代码发送至主干,并进行自动化测试;git
持续交付:在持续集成的基础上,将代码部署到预生产环境;apache
持续部署:随时deliver给客户,而且是自动化的;json
Jenkins具备以下有点:vim
1.更友好的用户界面;
浏览器
2.开源项目拥有大批的plugin;
安全
3.有好的用户界面使得学习成本下降;
bash
4.CI工具,随时deliver给用户,自动化部署;
oracle
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