Jenkins环境搭建总结
? ? Jenkins是一個(gè)用Java編寫的開源的持續(xù)集成(CI)工具,可持續(xù)、自動(dòng)地構(gòu)建/測(cè)試軟件項(xiàng)目,監(jiān)控一些定時(shí)執(zhí)行的任務(wù)。具有開源,支持多平臺(tái)和插件擴(kuò)展,安裝簡(jiǎn)單,界面化管理等特點(diǎn)。
一、Jenkins安裝
1.安裝OpenJDK
| 1 2 3 4 5 | [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版本
| 1 2 3 | [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.war
jenkins配置文件:/etc/sysconfig/jenkins
jenkins啟動(dòng)腳本:/etc/init.d/jenkins
jenkins日志目錄:/var/log/jenkins
3.啟動(dòng)Jenkins
| 1 2 | [root@localhost?~]#?service?jenkins?start [root@localhost?~]#?chkconfig?jenkins?on |
4.訪問(wèn)Jenkins,進(jìn)行初始化設(shè)置
http://jenkins_server_ip:8080
二、Jenkins插件安裝演示
1.在線安裝語(yǔ)言插件
進(jìn)入Manage Jenkins->Manage Plugins->Available,找到"Locale plugin"并安裝,安裝過(guò)程中會(huì)自動(dòng)處理好插件的依賴。
在線安裝插件可能由于網(wǎng)絡(luò)原因安裝失敗,記下安裝失敗的插件和安裝順序,然后使用下面的方法離線安裝。
2.離線安裝插件
訪問(wèn)網(wǎng)址https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/,搜索上一步安裝失敗的那些插件,下載下來(lái)。
進(jìn)入Manage Jenkins->Manage Plugins->Advanced,選擇插件文件并上傳。
注意:要按照依賴順序一個(gè)一個(gè)安裝插件。
安裝好后重啟Jenkins(可以通過(guò)訪問(wèn)http://jenkins_server_ip:8080/restart重啟)。
3.設(shè)置語(yǔ)言為中文
進(jìn)入Manage Jenkins->Configure System,在"Default Language"位置輸入zh_CN,保存立即生效。
三、安裝SVN插件
1)進(jìn)入"系統(tǒng)管理"->"插件管理"->"可選插件",找到"Subversion Plug-in"并安裝。
2)SVN插件安裝好后,我們創(chuàng)建一個(gè)新項(xiàng)目。
在項(xiàng)目配置的"源碼管理"部分,我們可以對(duì)svn倉(cāng)庫(kù)進(jìn)行配置了。
四、安裝SSH插件
1)進(jìn)入"系統(tǒng)管理"->"插件管理"->"可選插件",安裝"Publish Over SSH"插件。
2)配置SSH免密碼登錄到遠(yuǎn)程服務(wù)器
| 1 2 3 | usermod?-s?/bin/bash?jenkins su?-?jenkins ssh-keygen?-t?rsa |
將公鑰推送到遠(yuǎn)程主機(jī):
| 1 | ssh-copy-id?-i?~/.ssh/id_rsa.pub?'-p?10022?root@192.168.1.211' |
3)進(jìn)入"系統(tǒng)管理"->"系統(tǒng)設(shè)置",找到Publish over SSH配置段。
-
Jenkins SSH Key(插件的全局配置)
Passphrase:密碼(key的密碼,一般我們不會(huì)設(shè)置)
Path to key:key文件(私鑰)的路徑
Key:將私鑰復(fù)制到這個(gè)框中(與Path to key二選一)
Disable exec:禁止遠(yuǎn)程運(yùn)行命令
-
添加SSH遠(yuǎn)程主機(jī)
SSH Server Name:自定義遠(yuǎn)程主機(jī)的名字
Hostname:ssh遠(yuǎn)程連接的ip地址
Username:用戶名
Remote Directory:遠(yuǎn)程目錄
Use password authentication, or use a different key:選中展開就可以配置新的私鑰,不使用全局配置。
Port:SSH端口
Timeout (ms):超時(shí)時(shí)間(毫秒)
Disable exec:禁止運(yùn)行命令(只對(duì)當(dāng)前配置的ssh主機(jī)生效)
Test Configuration:測(cè)試連接,連接成功會(huì)返回Success
五、項(xiàng)目配置
1.新建一個(gè)項(xiàng)目
新建一個(gè)項(xiàng)目,輸入項(xiàng)目名稱,選擇“構(gòu)建一個(gè)自由風(fēng)格的軟件項(xiàng)目”。
2.構(gòu)建觸發(fā)器
-
觸發(fā)遠(yuǎn)程構(gòu)建
遠(yuǎn)程構(gòu)建URL:
JENKINS_URL/job/JOB_NAME/build?token=TOKEN_NAME
我們可以在URL末尾加上&cause=Cause+Text描述構(gòu)建原因。
例如:
http://192.168.1.203:8080/job/testjob1/build?token=testjob1token
腳本調(diào)用方法:
curl -v -u 用戶名:登錄密碼 遠(yuǎn)程構(gòu)建URL
-
Build after other projects are built
指定的項(xiàng)目完成構(gòu)建后,才觸發(fā)此項(xiàng)目的構(gòu)建。
-
Build periodically
按指定的時(shí)間頻率對(duì)項(xiàng)目進(jìn)行構(gòu)建。
-
Poll SCM
按指定的時(shí)間頻率檢查源代碼倉(cāng)庫(kù)的變化,如發(fā)現(xiàn)變化則執(zhí)行構(gòu)建。
3.構(gòu)建環(huán)境
-
Send files or execute commands over SSH before the build starts
構(gòu)建開始前通過(guò)ssh給遠(yuǎn)程主機(jī)發(fā)送文件或者執(zhí)行命令。
-
Send files or execute commands over SSH after the build runs
構(gòu)建結(jié)束后通過(guò)ssh給遠(yuǎn)程主機(jī)發(fā)送文件或者執(zhí)行命令。
這兩個(gè)選項(xiàng)是在安裝了“Publish Over SSH”插件后出現(xiàn)的,比較實(shí)用。配置介紹:
Name:在系統(tǒng)設(shè)置里配置的SSH遠(yuǎn)程主機(jī)的名字
Source files:上傳的文件或目錄(相對(duì)于項(xiàng)目工作區(qū)的路徑,非絕對(duì)路徑。可以填寫多個(gè),默認(rèn)用逗號(hào)分隔)
Remove prefix:移除Source files的目錄前綴
Remote directory:遠(yuǎn)程主機(jī)的上傳目錄(如果目錄不存在會(huì)自動(dòng)創(chuàng)建)
Exec command:要遠(yuǎn)程執(zhí)行的命令
Flatten files:只上傳文件,不創(chuàng)建目錄(除了遠(yuǎn)程目錄)
4.構(gòu)建步驟
-
Execute Windows batch command
執(zhí)行Windows批處理腳本(Jenkins安裝在Windows系統(tǒng)中)。
-
Execute shell
執(zhí)行Linux shell腳本(Jenkins安裝在Linux系統(tǒng)中)。
-
Invoke Ant
JenKins與Ant集成實(shí)現(xiàn)項(xiàng)目的自動(dòng)化構(gòu)建部署,適用于Ant作為構(gòu)建工具的項(xiàng)目。
-
Invoke top-level Maven targets
JenKins與Maven集成實(shí)現(xiàn)項(xiàng)目的自動(dòng)化構(gòu)建部署,適用于Maven作為構(gòu)建工具的項(xiàng)目。
-
Send files or execute commands over SSH
通過(guò)ssh給遠(yuǎn)程主機(jī)發(fā)送文件或者執(zhí)行命令。“Publish Over SSH”插件的功能。
5.參數(shù)化構(gòu)建
通過(guò)參數(shù)化構(gòu)建功能,我們可以為構(gòu)建程序傳遞參數(shù),靈活控制構(gòu)建流程。
在項(xiàng)目配置里點(diǎn)選“參數(shù)化構(gòu)建過(guò)程”,然后選擇“添加參數(shù)”,jenkins提供了多種參數(shù)類型:
舉個(gè)例子,我們添加兩個(gè)參數(shù):
-
參數(shù)level是Choice類型,可選值1和2,默認(rèn)值是1。
-
參數(shù)text是String類型,默認(rèn)值是“hello world”。
參數(shù)設(shè)置好后,我們可以在構(gòu)建腳本里引用這些變量。
Windows平臺(tái)引用方法:%var_name%
Linux平臺(tái)引用方法:${var_name}
配置完整個(gè)項(xiàng)目后,我們手動(dòng)運(yùn)行構(gòu)建:
在項(xiàng)目面板的左側(cè)選擇“Build with Parameters”,先對(duì)參數(shù)值進(jìn)行修改,然后點(diǎn)擊“開始構(gòu)建”。
參數(shù)化遠(yuǎn)程構(gòu)建URL(通過(guò)訪問(wèn)url觸發(fā)構(gòu)建):
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
腳本調(diào)用方法:
curl -v -u 用戶名:登錄密碼 遠(yuǎn)程構(gòu)建URL
本文轉(zhuǎn)自 張斌_青島 51CTO博客,原文鏈接:http://blog.51cto.com/qicheng0211/1918912
總結(jié)
以上是生活随笔為你收集整理的Jenkins环境搭建总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 写jQuery插件该注意的
- 下一篇: LR之参数化学习