Jenkins是一個用Java編寫的開源的持續集成(CI)工具,可持續、自動地構建/測試軟件項目,監控一些定時執行的任務。具備開源,支持多平臺和插件擴展,安裝簡單,界面化管理等特色。java
1、Jenkins安裝shell
1.安裝OpenJDKbash
[root@localhost ~]#yum install java-1.7.0-openjdk [root@localhost ~]#java -version java version"1.7.0_131" OpenJDK RuntimeEnvironment (rhel-2.6.9.0.el6_8-x86_64 u131-b00) OpenJDK 64-BitServer VM (build 24.131-b00, mixed mode)
2.yum安裝Jenkins stable版本服務器
[root@localhost ~]# wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo [root@localhost ~]# rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key [root@localhost ~]# yum install jenkins
安裝好後,jenkins的主目錄位於/var/lib/jenkins,這也是jenkins用戶的家目錄。網絡
jenkins主程序:/usr/lib/jenkins/jenkins.warssh
jenkins配置文件:/etc/sysconfig/jenkinscurl
jenkins啓動腳本:/etc/init.d/jenkinside
jenkins日誌目錄:/var/log/jenkinssvn
3.啓動Jenkins工具
[root@localhost ~]# service jenkins start [root@localhost ~]# chkconfig jenkins on
4.訪問Jenkins,進行初始化設置
http://jenkins_server_ip:8080
2、Jenkins插件安裝演示
1.在線安裝語言插件
進入Manage Jenkins->Manage Plugins->Available,找到"Locale plugin"並安裝,安裝過程當中會自動處理好插件的依賴。
在線安裝插件可能因爲網絡緣由安裝失敗,記下安裝失敗的插件和安裝順序,而後使用下面的方法離線安裝。
2.離線安裝插件
訪問網址https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/,搜索上一步安裝失敗的那些插件,下載下來。
進入Manage Jenkins->Manage Plugins->Advanced,選擇插件文件並上傳。
注意:要按照依賴順序一個一個安裝插件。
安裝好後重啓Jenkins(能夠經過訪問http://jenkins_server_ip:8080/restart重啓)。
3.設置語言爲中文
進入Manage Jenkins->Configure System,在"Default Language"位置輸入zh_CN,保存當即生效。
3、安裝SVN插件
1)進入"系統管理"->"插件管理"->"可選插件",找到"Subversion Plug-in"並安裝。
2)SVN插件安裝好後,咱們建立一個新項目。
在項目配置的"源碼管理"部分,咱們能夠對svn倉庫進行配置了。
4、安裝SSH插件
1)進入"系統管理"->"插件管理"->"可選插件",安裝"Publish Over SSH"插件。
2)配置SSH免密碼登陸到遠程服務器
usermod -s /bin/bash jenkins su - jenkins ssh-keygen -t rsa
將公鑰推送到遠程主機:
ssh-copy-id -i ~/.ssh/id_rsa.pub '-p 10022 root@192.168.1.211'
3)進入"系統管理"->"系統設置",找到Publish over SSH配置段。
Jenkins SSH Key(插件的全局配置)
Passphrase:密碼(key的密碼,通常咱們不會設置)
Path to key:key文件(私鑰)的路徑
Key:將私鑰複製到這個框中(與Path to key二選一)
Disable exec:禁止遠程運行命令
添加SSH遠程主機
SSH Server Name:自定義遠程主機的名字
Hostname:ssh遠程鏈接的ip地址
Username:用戶名
Remote Directory:遠程目錄
Use password authentication, or use a different key:選中展開就能夠配置新的私鑰,不使用全局配置。
Port:SSH端口
Timeout (ms):超時時間(毫秒)
Disable exec:禁止運行命令(只對當前配置的ssh主機生效)
Test Configuration:測試鏈接,鏈接成功會返回Success
5、項目配置
1.新建一個項目
新建一個項目,輸入項目名稱,選擇「構建一個自由風格的軟件項目」。
2.構建觸發器
觸發遠程構建
遠程構建URL:
JENKINS_URL/job/JOB_NAME/build?token=TOKEN_NAME
咱們能夠在URL末尾加上&cause=Cause+Text描述構建緣由。
例如:
http://192.168.1.203:8080/job/testjob1/build?token=testjob1token
腳本調用方法:
curl -v -u 用戶名:登陸密碼 遠程構建URL
Build after other projects are built
指定的項目完成構建後,才觸發此項目的構建。
Build periodically
按指定的時間頻率對項目進行構建。
Poll SCM
按指定的時間頻率檢查源代碼倉庫的變化,如發現變化則執行構建。
3.構建環境
Send files or execute commands over SSH before the build starts
構建開始前經過ssh給遠程主機發送文件或者執行命令。
Send files or execute commands over SSH after the build runs
構建結束後經過ssh給遠程主機發送文件或者執行命令。
這兩個選項是在安裝了「Publish Over SSH」插件後出現的,比較實用。配置介紹:
Name:在系統設置裏配置的SSH遠程主機的名字
Source files:上傳的文件或目錄(相對於項目工做區的路徑,非絕對路徑。能夠填寫多個,默認用逗號分隔)
Remove prefix:移除Source files的目錄前綴
Remote directory:遠程主機的上傳目錄(若是目錄不存在會自動建立)
Exec command:要遠程執行的命令
Flatten files:只上傳文件,不建立目錄(除了遠程目錄)
4.構建步驟
Execute Windows batch command
執行Windows批處理腳本(Jenkins安裝在Windows系統中)。
Execute shell
執行Linux shell腳本(Jenkins安裝在Linux系統中)。
Invoke Ant
JenKins與Ant集成實現項目的自動化構建部署,適用於Ant做爲構建工具的項目。
Invoke top-level Maven targets
JenKins與Maven集成實現項目的自動化構建部署,適用於Maven做爲構建工具的項目。
Send files or execute commands over SSH
經過ssh給遠程主機發送文件或者執行命令。「Publish Over SSH」插件的功能。
5.參數化構建
經過參數化構建功能,咱們能夠爲構建程序傳遞參數,靈活控制構建流程。
在項目配置裏點選「參數化構建過程」,而後選擇「添加參數」,jenkins提供了多種參數類型:
舉個例子,咱們添加兩個參數:
參數level是Choice類型,可選值1和2,默認值是1。
參數text是String類型,默認值是「hello world」。
參數設置好後,咱們能夠在構建腳本里引用這些變量。
Windows平臺引用方法:%var_name%
Linux平臺引用方法:${var_name}
配置完整個項目後,咱們手動運行構建:
在項目面板的左側選擇「Build with Parameters」,先對參數值進行修改,而後點擊「開始構建」。
參數化遠程構建URL(經過訪問url觸發構建):
JENKINS_URL/job/JOB_NAME/buildWithParameters?token=TOKEN_NAME&PARM1=VALUE1&PARM2=VALUE2…
例如:
http://192.168.1.203:8080/job/testjob1/buildWithParameters?token=testjob1token&level=2&text=hello+world
腳本調用方法:
curl -v -u 用戶名:登陸密碼 遠程構建URL