Jenkins环境搭建总结
? ? Jenkins是一個用Java編寫的開源的持續集成(CI)工具,可持續、自動地構建/測試軟件項目,監控一些定時執行的任務。具有開源,支持多平臺和插件擴展,安裝簡單,界面化管理等特點。
一、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啟動腳本:/etc/init.d/jenkins
jenkins日志目錄:/var/log/jenkins
3.啟動Jenkins
| 1 2 | [root@localhost?~]#?service?jenkins?start [root@localhost?~]#?chkconfig?jenkins?on |
4.訪問Jenkins,進行初始化設置
http://jenkins_server_ip:8080
二、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,保存立即生效。
三、安裝SVN插件
1)進入"系統管理"->"插件管理"->"可選插件",找到"Subversion Plug-in"并安裝。
2)SVN插件安裝好后,我們創建一個新項目。
在項目配置的"源碼管理"部分,我們可以對svn倉庫進行配置了。
四、安裝SSH插件
1)進入"系統管理"->"插件管理"->"可選插件",安裝"Publish Over SSH"插件。
2)配置SSH免密碼登錄到遠程服務器
| 1 2 3 | usermod?-s?/bin/bash?jenkins su?-?jenkins ssh-keygen?-t?rsa |
將公鑰推送到遠程主機:
| 1 | 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
五、項目配置
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
本文轉自 張斌_青島 51CTO博客,原文鏈接:http://blog.51cto.com/qicheng0211/1918912
總結
以上是生活随笔為你收集整理的Jenkins环境搭建总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 写jQuery插件该注意的
- 下一篇: LR之参数化学习