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