Jenkins環境搭建總結

    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,選擇插件文件並上傳。

wKiom1j9vvuAOReqAAAfUbLgMP8275.png-wh_50

注意:要按照依賴順序一個一個安裝插件。

安裝好後重啓Jenkins(能夠經過訪問http://jenkins_server_ip:8080/restart重啓)。

3.設置語言爲中文

進入Manage Jenkins->Configure System,在"Default Language"位置輸入zh_CN,保存當即生效。

wKioL1j9vx_y9-yyAAAUJIhHTyg159.png-wh_50

3、安裝SVN插件

1)進入"系統管理"->"插件管理"->"可選插件",找到"Subversion Plug-in"並安裝。

2)SVN插件安裝好後,咱們建立一個新項目。

在項目配置的"源碼管理"部分,咱們能夠對svn倉庫進行配置了。

wKiom1j9vzeRXtjMAABGWB2_XRA912.png-wh_50

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配置段。

wKioL1j9v1GwmzX2AAB0mqgHA3M013.png-wh_50

  • 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.新建一個項目

新建一個項目,輸入項目名稱,選擇「構建一個自由風格的軟件項目」。

wKioL1j9v2XgmPEEAACe9EGN0jM066.png-wh_50


2.構建觸發器

wKioL1j9v6Lxq6JGAAAbY6uqRE8175.png-wh_50

  • 觸發遠程構建

wKiom1j9v9bTYiD2AAA18u4HnRk310.png

遠程構建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

wKiom1j9v-KTWpQOAACDkr3ufWw377.png-wh_50

  • Build after other projects are built

指定的項目完成構建後,才觸發此項目的構建。

  • Build periodically

按指定的時間頻率對項目進行構建。

  • Poll SCM

按指定的時間頻率檢查源代碼倉庫的變化,如發現變化則執行構建。

3.構建環境

wKiom1j9v-6Tq2kbAAAZ6-jzQL8859.png-wh_50

  • 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」插件後出現的,比較實用。配置介紹:

wKioL1j9wAKyKNVIAACOLh1dXuc991.png-wh_50

Name:在系統設置裏配置的SSH遠程主機的名字

Source files:上傳的文件或目錄(相對於項目工做區的路徑,非絕對路徑。能夠填寫多個,默認用逗號分隔)

Remove prefix:移除Source files的目錄前綴

Remote directory:遠程主機的上傳目錄(若是目錄不存在會自動建立)

Exec command:要遠程執行的命令

Flatten files:只上傳文件,不建立目錄(除了遠程目錄)

4.構建步驟

wKioL1j9wCnTPU77AAAhH5aSBeQ878.png-wh_50

  • 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提供了多種參數類型:

wKiom1j9v3LBaZocAAB3KSKd6N8738.png-wh_50

舉個例子,咱們添加兩個參數:

  • 參數level是Choice類型,可選值1和2,默認值是1。

wKioL1j9v3_ihbAKAAA4necoiKs349.png-wh_50

  • 參數text是String類型,默認值是「hello world」。

wKiom1j9v4mjEcW-AAAW9MFbmFs506.png-wh_50

參數設置好後,咱們能夠在構建腳本里引用這些變量。

Windows平臺引用方法:%var_name%

Linux平臺引用方法:${var_name}

配置完整個項目後,咱們手動運行構建:

在項目面板的左側選擇「Build with Parameters」,先對參數值進行修改,而後點擊「開始構建」。

wKioL1j9v5WwdRzQAAB4TGOYSDo828.png-wh_50

參數化遠程構建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

相關文章
相關標籤/搜索