天天看點

Jenkins 持續內建環境搭建

Jenkins 持續內建環境搭建

官方文檔:https://jenkins.io/zh/doc/

1、CentOS 7.4 安裝過程

首先,從官網https://jenkins.io/zh/download/ 下載下傳

Red Had/Fedora/CentOS

版本的Jenkins,這裡以 jenkins-2.183-1.1.noarch.rpm 為例。

然後,由于jenkins運作需要JDK,是以根據官方要求,要先安裝

JDK1.8

最後,安裝

Jenkins-2.183

,流程如下:

1)、上傳安裝包到 CentOS 7.4的系統環境中

2)、執行 rpm 包安裝指令 (#其中i表示安裝,v表示顯示安裝過程,h表示顯示進度):

sudo rpm -ivh jenkins-2.183-1.1.noarch.rpm

執行結果如圖所示:

Jenkins 持續內建環境搭建

3)、啟動 Jenkins

sudo service jenkins start

執行結果如下:

Jenkins 持續內建環境搭建

4)、根據啟動報錯的提醒資訊,發現jenkins啟動時無法找到jdk,故需要手動調整java配置,打開 配置檔案

vi /etc/rc.d/init.d/jenkins

,并在

candidates=""

屬性中添加目前系統的jdk安裝目錄

Jenkins 持續內建環境搭建

注意:如果不知道本機jdk安裝目錄,可以通過

whereis java

進行查找。

5)、重新啟動jenkins,這次可以正常啟動成功,可通過

ip:port

模式初始化配置。

以下清單記錄jenkins的 指令 和 目錄結構

常用指令如下:

sudo service jenkins start #啟動

sudo service jenkins stop #停止

sudo service jenkins restart #重新開機

常用目錄如下

/etc/init.d/jenkins #啟動檔案

/etc/sysconfig/jenkins #配置檔案

/usr/lib/jenkins/jenkins.war #war包存放路徑

/var/cache/jenkins #war包解壓的緩存目錄

/var/lib/jenkins #jenkins 主目錄

/var/log/jenkins #jenkins 日志目錄

注意:

/var/lib/jenkins/workspace/

目錄為jenkins 任務的根目錄,具體項目會根據任務目錄結構建構目錄。例如:有一個

tysite

檔案夾下的

tysite-spark

,需要從git上拉取項目,那麼任務執行後,将會把git項目下載下傳到

/var/lib/jenkins/workspace/tysite/tysite-spark

,而該任務中的操作目錄皆以此目錄開始。

2、Jenkins 基礎配置

1)、Jenkins 預設的 通路端口為 8080,采用

ip:port

模式,通過浏覽器通路jenkins。

2)、浏覽器首次打開時,jenkins會進入自動配置模式,配置完成後打開解鎖頁面

Jenkins 持續內建環境搭建

3)、根據頁面提醒,通路提示檔案,擷取秘鑰,錄入後點選【繼續】按鈕。

4)、繼續加載後,系統進入插件安裝界面,我們選擇

安裝推薦的插件

Jenkins 持續內建環境搭建

5)、完成後自動進入管理者賬号建立界面。

6)、設定完成後,提示使用者設定配置目錄,預設即可,點選完成按鈕

3、Jenkins 插件安裝

1)、通過域名打開Jenkins管理平台。

2)、點選

Manager Jenkins

>

Manager Plugins

,安裝業務插件

Jenkins 持續內建環境搭建

3)、在插件管理頁面,搜尋需要安裝的插件并進行安裝

Jenkins 持續內建環境搭建

4)、本文示範簡單的基于Git的持續內建

java

項目和

angular

項目,須安裝如下插件

(1)安裝 Maven Integration plugin

(2)安裝 Publish Over SSH(遠端釋出)

(3)安裝 JDK Parameter Plugin

(4)安裝 NodeJs

注意: 插件安裝完成後,需要

重新開機

jenkins

5)、Publish over SSH 伺服器配置

主菜單中選擇

系統管理

>

系統設定

子產品,找到

Publish over SSH

子產品,如下圖所示方式設定 SSH伺服器連接配接。

Jenkins 持續內建環境搭建

6)、工具配置

根據持續內建需要,設定所需工具,本示例設定

JDK1.8

Gradle

NodeJs

首先需要在Jenkins所在伺服器安裝JDK1.8、Gradle和NodeJs,并确定安裝目錄。

然後通過

系統管理

>

全局工具配置

子產品,找到

JDK

Gradle

NodeJs

并進行配置。(預設是個按鈕)

如下圖所示方式配置 JDK

Jenkins 持續內建環境搭建

如下圖所示方式配置Gradle

Jenkins 持續內建環境搭建

如下圖所示方式配置NodeJs

Jenkins 持續內建環境搭建

7)、憑據配置

在使用Git擷取項目時,可以采用秘鑰模式,這裡可以通過

憑據配置

完成對公用賬号的配置。點選

憑據

>

系統

,添加自己的

,然後在

添加憑據

Jenkins 持續內建環境搭建

3、配置任務

1)、通過

Jenkins

>

建立任務

按鈕,打開任務建立建立。

Jenkins 持續內建環境搭建

2)、通常我們在項目中,需要建構一組任務給項目組成員使用,為了授權友善,可以選擇将這一組任務放在同一個檔案下。

先建立任務檔案夾,如下圖所示:

Jenkins 持續內建環境搭建

然後,再在任務檔案夾中建立具體任務。

Jenkins 持續內建環境搭建

3)、這裡以

自由風格

的任務為例,從

碼雲

上拉取代碼,然後 打包 釋出。

  • 源碼管理部分,如下圖所示方式配置 git 拉取資訊。
    Jenkins 持續內建環境搭建
  • 建構觸發器,用于設定任務排程模式,如采用手動觸發則無需配置此功能。

    下圖為定時建構;也可以采用gitlab 鈎子觸發排程。

    Jenkins 持續內建環境搭建
  • 構模組化塊,選擇

    執行shell

    模式,可以根據業務需要添加指令,如調用

    gradle

    的任務進行項目打包
    Jenkins 持續內建環境搭建
    Jenkins 持續內建環境搭建
    注意:需要在jenkins中配置

    gradle

    工具,否則直接使用

    ./gradlew

    指令無效。
  • 打包釋出

    通過

    Publish over SSH

    插件,将打包好的檔案 發送到 指定部署目錄,并執行部署指令。

    這個SSH操作,可以在

    建構

    建構後操作

    子產品中添加,選擇

    Send Build artifacts over SSH

    模式,如下圖所示設定推送目錄及推送後的操作。
    Jenkins 持續內建環境搭建
    說明:
    1. ssh插件的主要功能,是将

      Source files

      配置的檔案,傳輸到

      Name

      伺服器的

      Remote directory

      目錄,然後執行

      Exec command

      視窗中的指令。
    2. Exec command

      指令視窗,可以根據需要,執行多條指令,每條指令占用一行。如 清理、解壓、啟動程式等。

4)、配置完成後,傳回任務界面,點選[立即建構]按鈕,執行以上配置的任務

Jenkins 持續內建環境搭建

4)、點選

Build History

中的曆史記錄 辨別(如

#1

),進入任務建構詳情界面,可以通過

控制台輸出

功能,檢視建構過程,用于分析建構過程中的錯誤資訊。

Jenkins 持續內建環境搭建

5)、建構成功後,傳回任務界面,點選[工作空間]按鈕,檢視項目工作空間。可用于對打包後代碼的獨立下載下傳。

4、DOCKER 模式安裝說明

1)、下載下傳docker 鏡像

docker pull jenkins/jenkins:2.183-centos

2)、建立docker 容器

docker run --name jenkins -d -p 8080:8080 -p 50000:50000 jenkins/jenkins:2.183-centos

3、浏覽器通路

IP:8080

網址,後續配置與

rpm

安裝模式相同

4、

docker 模式使用時,須額外注意外部伺服器的通路權限問題

5、要點總結

1)、首次啟動通常會出現

找不到java指令

的情況,修改

/etc/rc.d/init.d/jenkins

檔案

candidates=""

屬性,添加本機的JDK目錄。

2)、Jenkins預設啟動的端口為

8080

,可根據具體情況,修改

/etc/sysconfig/jenkins

檔案的

JENKINS_PORT="8080"

屬性變更端口。

3)、rpm 方式安裝的jenkins ,預設的任務工作目錄為

/var/lib/jenkins/workspace/

4)、jenkins 工具類插件,使用時須先在伺服器安裝軟體(如jdk、gradle等),然後在

全局工具配置

中設定。

5)、jenkins通過

SSH

插件執行腳本時,無法自行擷取到

使用者配置的環境變量

,須在執行腳本前,調用

source /etc/profile

指令使環境變量生效。(非CentOS系統請自行查找相關指令)

繼續閱讀