26.1 jenkins介紹php
26.2 jenkins安裝html
26.3 瞭解jenkinsjava
26.1 jenkins介紹node
產品設計成型 -> 開發人員開發代碼 -> 測試人員測試功能 -> 運維人員發佈上線linux
持續集成 (Continuous integration,簡稱CI)git
#每一個人負責不一樣的模塊,最後彙總到一塊兒。這個過程叫集成。集成的頻率可能會不少,好比今天集成一次,明天集成兩次,這回設計到工做量。可能單獨的模塊測試沒有問題,那集成到一塊兒呢,也是須要測試。而持續集成就是咱們不停的持續的去作集成web
持續交付(Continuous delivery)docker
#1.咱們把這些代碼(集成的模塊)交給測試人員,讓他們去測試。持續交付就是不停的集成不停的去交付shell
#2.咱們把成型的產品交付給須要人員(用戶)數據庫
持續部署(continuous deployment)
#運維人員須要把成型的代碼部署到線上去,讓他提供服務
因此能夠理解爲先交付在部署,也能夠理解爲先部署在交付。由於交付有兩層含義,一個交付給測試,一個交付給用戶
!!!由於以上咱們要把它搞成自動化,由於太頻繁了(持續的),很容易出錯。咱們就可讓他在後臺不斷的去集成、不斷地去交付、不斷的去部署,而Jenkins就是一個持續集成、交付、部署的工具
參考 http://www.ruanyifeng.com/blog/2015/09/continuous-integration.html
1.官網 https://jenkins.io
#做爲領先的開源自動化服務器,Jenkins提供數百個插件來支持構建,部署和自動化任何項目(php、java均可以)。 官網用很簡單的一句話解釋了jenkins
2.Jenkins是一個開源的、可擴展的持續集成、交付、部署(軟件/代碼的編譯、打包、部署)基於web界面的平臺。
3.Jenkins是一個工具集,提供了各類各樣的插件
好比獲取git上最新的代碼
好比能夠幫你編譯源代碼
好比能夠調用自定義的shell腳本遠程執行命令
官方文檔 https://jenkins.io/doc/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
26.2 jenkins安裝
最低配置: 很多於256M內存,不低於1G磁盤,jdk版本>=8
1.安裝jdk1.8
yum install -y java-1.8.0-openjdk
#java開發。圖省事也能夠yum一個openjdk。固然也能夠根據以前學的去安裝一個jdk
2.wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
# -O 在這裏是定義輸出文件名字。 若是不加這參數是直接把結果打印到屏幕上的。
3.rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
#安裝jenkins的一個key
4.yum install -y jenkins
#到這,就會安裝一個最新的穩定版
5.systemctl start jenkins
6.less /var/log/jenkins/jenkins.log //查詢admin密碼
訪問 http://ip:8080/ 進行安裝
注意:
也能夠用docker拉一個jenkins,用容器去啓動它
若是使用的是ubuntu就要去jenkins官方去看怎麼安裝。
實例:
[root@axinlinux-01 ~]# yum install -y java-1.8.0-openjdk
[root@axinlinux-01 ~]# wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
[root@axinlinux-01 ~]# cat /etc/yum.repos.d/jenkins.repo #能夠cat一下咱們指定輸出的文件。也就是說上一步的wget就是生成了這個文件(在咱們-O指定的目錄裏)。不wget的話也能夠直接編輯這個文件
[jenkins]
name=Jenkins
baseurl=http://pkg.jenkins.io/redhat
gpgcheck=1
[root@axinlinux-01 ~]# rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key #由於上面的配置文件gpgcheck=1,須要安裝jenkins的key
[root@axinlinux-01 ~]# systemctl start jenkins
[root@axinlinux-01 ~]# less /var/log/jenkins/jenkins.log #找到初始化的密碼
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
800986e8a1ec424fa62d9468ab46ad88
This may also be found at: /var/lib/jenkins/secrets/initialAdminPassword #也能夠到這去找
http://192.168.208.128:8080 #能夠直接在瀏覽器訪問了
以上用360瀏覽器不成功。使用谷歌瀏覽器
接下來,他會按照本身的推薦去安裝插件。以後的過程看下張
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
26.3 瞭解jenkins
安裝完插件就會建立用戶
而後再回到linux服務器上
[root@axinlinux-01 ~]# vim /etc/sysconfig/jenkins #jenkins配置文件。如下簡單講解一下
JENKINS_HOME="/var/lib/jenkins" #home,就是jenkins程序放到了哪
JENKINS_JAVA_CMD="" #cmd,保持默認
JENKINS_USER="jenkins" #那個用戶啓動的
[root@axinlinux-01 ~]# cd /var/lib/jenkins/ #jenkins程序主目錄
[root@axinlinux-01 jenkins]# ls
config.xml jenkins.install.InstallUtil.lastExecVersion logs secret.key.not-so-secret workflow-libs
hudson.model.UpdateCenter.xml jenkins.install.UpgradeWizard.state nodeMonitors.xml secrets
hudson.plugins.git.GitTool.xml jenkins.model.JenkinsLocationConfiguration.xml nodes updates
identity.key.enc jenkins.telemetry.Correlator.xml plugins userContent
jenkins.CLI.xml jobs secret.key users
[root@axinlinux-01 jenkins]# ls jobs/ #jobs目錄就是瀏覽器上建立的任務。好比建立一個任務叫axin,在這個jobs目錄下就會有一個axin的目錄 常關注的!!
[root@axinlinux-01 jenkins]# ls logs/ #logs是日誌相關
tasks
[root@axinlinux-01 jenkins]# ls nodes/ #多節點的時候用到的
[root@axinlinux-01 jenkins]# ls plugins/ #插件所在的目錄。也是很是重要的目錄。好比你先加一個插件,這個插件就存在這個目錄裏 常關注的!!
[root@axinlinux-01 jenkins]# ls secrets/ #密碼密鑰相關的
[root@axinlinux-01 jenkins]# ls updates/ #升級相關的
[root@axinlinux-01 jenkins]# ls users/ #用戶相關的,好比我建立了一個admin,就會存在這個目錄下
admin_625763853940219016 users.xml
若是,咱們想要備份jenkins。就能夠直接把jenkins目錄(/var/lib/jenkins)所有考走,到新的機器上就能夠了。jenkins不須要藉助數據庫存儲數據。他的配置所有存在了.xml這樣的文件裏