jenkins安裝及配置-centos6.9

来源:https://www.cnblogs.com/shenzhiwei/archive/2018/03/15/8574291.html
-Advertisement-
Play Games

Jenkins安裝及配置 目錄 1、安裝java. 2 1.1安裝說明... 2 1.2創建java目錄... 2 1.3下載並解壓... 2 1.4設置環境變數... 2 1.5驗證JDK有效性... 3 2、安裝Git. 3 2.1安裝GCC軟體套件... 3 2.2下載安裝Git. 4 3、安 ...


Jenkins安裝及配置

目錄

1、安裝java. 2

1.1安裝說明... 2

1.2創建java目錄... 2

1.3下載並解壓... 2

1.4設置環境變數... 2

1.5驗證JDK有效性... 3

2、安裝Git. 3

2.1安裝GCC軟體套件... 3

2.2下載安裝Git. 4

3、安裝jenkins. 5

3.1下載安裝... 5

3.2啟動Jenkins. 5

3.3設置防火牆... 6

3.4錯誤解決方法... 7

4、快速配置Jenkins. 8

4.1基本設置... 8

4.2安裝插件... 10

4.3設置插件... 11

4.4配置郵件... 12

5、創建並配置項目... 16

5.1新建項目,配置Git庫... 16

5.2設置構建觸發器... 18

5.3構建步驟設置... 20

5.4添加構建後操作... 21

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1、安裝java

1.1安裝說明

本說明基於伺服器版本:虛擬機CentOs 6.9  記憶體4G

Java版本: 1.8

Jenkins版本:2.103

GItlab版本:10.1

自己註意java版本(建議用1.8以上)

建議安裝vim: yum -y install vim-enhanced

 

Jenkins是一款持續集成CI(Continuous integration)系統,主要目標是監控軟體開發流程,快速顯示問題。減少重覆過程,提高工作效率。

1.2創建java目錄

[root@localhost ~]# mkdir /usr/java

[root@localhost ~]# cd /usr/java

 

1.3下載並解壓

可以本地先下載好再傳伺服器去,下載地址

http://download.oracle.com/otn-pub/java/jdk/8u162-b12/0da788060d494f5095bf8624735fa2f1/jdk-8u162-linux-x64.tar.gz

--使用WinSCP工具傳到/usr/java里,然後解壓

 

 [root@localhost java]# tar -zxvf jdk-8u162-linux-x64.tar.gz

 

1.4設置環境變數

 

[root@localhost java]# vim /etc/profile

 

在profile中添加如下內容:

 

#set java environment

JAVA_HOME=/usr/java/jdk1.8.0_162

JRE_HOME=/usr/java/jdk1.8.0_162/jre

CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

export JAVA_HOME JRE_HOME CLASS_PATH PATH

 

讓修改生效:

[root@localhost java]# source /etc/profile

 

1.5驗證JDK有效性

 

[root@localhost java]# java -version

 

 

2、安裝Git

 

2.1安裝GCC軟體套件

用來編譯git。如果安裝過則忽略。

 yum install gcc

 

2.2下載安裝Git

確認當前沒有裝過git的rpm包(如有則卸載)

yum remove git

 

安裝所需依賴

yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib zlib-devel gcc perl-ExtUtils-MakeMaker wget

 

 

下載並編譯git

 

cd /usr/local/src/

wget https://www.kernel.org/pub/software/scm/git/git-2.15.1.tar.gz

tar zxf git-2.15.1.tar.gz

cd git-2.15.1

./configure

make prefix=/usr/local/git all

make prefix=/usr/local/git install

 

按順序執行即可。

 

添加git變數

echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc

 

使設置生效

source /etc/bashrc

 

查看git版本

git --version

 

查看git位置

which git

 

 

3、安裝jenkins

3.1下載安裝

wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo

rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key

yum install jenkins

 

wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo

rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key

yum install jenkins

建議用第一種即可。

 

3.2啟動Jenkins

 

修改Jenkins啟動配置文件,指定java安裝路徑。

 vim /etc/init.d/jenkins

 

在candidates中第一行添加java路徑,如下:

 

candidates="

/usr/java/jdk1.8.0_162/bin/java

/etc/alternatives/java

/usr/lib/jvm/java-1.6.0/bin/java

/usr/lib/jvm/jre-1.6.0/bin/java

/usr/lib/jvm/java-1.7.0/bin/java

/usr/lib/jvm/jre-1.7.0/bin/java

/usr/lib/jvm/java-1.8.0/bin/java

/usr/lib/jvm/jre-1.8.0/bin/java

/usr/bin/java

"

 

 

修改Jenkins埠

vim /etc/sysconfig/jenkins

 

 

 

service jenkins start/stop/restart

chkconfig jenkins on

chkconfig --list |grep jenkins

jenkins         0:off   1:off   2:on    3:on    4:on    5:on    6:off

 

 

3.3設置防火牆

 

修改防火牆允許8080埠訪問

vim /etc/sysconfig/iptables

 

加入

-A INPUT -p tcp -m state --state NEW -m tcp --dport 9090 -j ACCEPT

 

按i 即可編輯     按Esc再輸入:wq回車即可保存並退出。

 

重啟防火牆生效:sudo service iptables restart

保存防火牆設置:sudo service iptables save

永久關閉防火牆:chkconfig iptables off

永久開啟防火牆: chkconfig iptables on

 

打開防火牆:service iptables start

關閉防火牆:service iptables stop

查看防火牆狀態:service iptables status

 

輸入ip地址+8080即可訪問jenkins

 

3.4錯誤解決方法

1:丟失密碼

 jenkins登錄密碼在這個文件里

 

vi /var/lib/jenkins/secrets/initialAdminPassword

cat /var/lib/jenkins/secrets/initialAdminPassword

2:執行shell腳本提示沒有許可權

修改所有者即可

1) vim /etc/sysconfig/jenkins

 

2) 找到$JENKINS_USER改為 “root”:

$JENKINS_USER="root"

 

3)然後更改Jenkins home,webroot和日誌的所有權:

chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins

 

4).重新啟動Jenkins並檢查用戶是否已被更改

service jenkins restart

 

3:啟動成功,不能進入系統

  1、很可能是埠衝突導致的。先排查埠。

  2、防火牆沒設置好導致的。

 

4、快速配置Jenkins

4.1基本設置

1:首次登陸系統需要解鎖

 

 

查看文件並複製密碼

cat /var/lib/jenkins/secrets/initialAdminPassword

 

 

2:進入後選擇插件安裝

 

 

取消所有選中(不裝插件直接進入系統)

 

3:設置管理員賬號進入系統

 

 

4.2安裝插件

-配置郵件提醒

Email Extension Plugin  

-拉取代碼
Git plugin
           

-設置鉤子推送後及時構建
Gitlab Authentication plugin

Gitlab Hook Plugin

GitLab Plugin

-備份還原

ThinBackup

 

進入系統管理,點擊管理插件,點擊可選插件搜索出對應插件點擊直接安裝即可。

 

 

 

 

 

4.3設置插件

 先配置java和git,實現代碼拉取功能

 

 

名稱隨便填,JAVA_HOME填實際地址。本次為/usr/java/jdk1.8.0_162

Path to Git executable 填寫Git可執行文件的路徑。設置錯誤拉取代碼會出錯。

本次為 /usr/local/git/bin/git  

可用which git查看路徑

 

設置完保存即可。

 

4.4配置郵件

為了實現郵件提醒功能

先進入系統設置

 

 

設置郵件:

SMTP server:smtp.exmail.qq.com

[email protected]

Hjzd@*****

Default Subject: 構建通知:${BUILD_STATUS} - ${PROJECT_NAME} - Build # ${BUILD_NUMBER} !

Default Content:

 

    <!DOCTYPE html> 

    <html> 

    <head> 

    <meta charset="UTF-8"> 

    <title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次構建日誌</title> 

<style>

b{

font-size:16px;

}

td{

font-size:16px;

}

li{

font-size:16px;

}

</style>

    </head> 

     

    <body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4" 

        offset="0"> 

        <table width="95%" cellpadding="0" cellspacing="0" 

            style="font-size: 20px; font-family: Tahoma, Arial, Helvetica, sans-serif"> 

       <tr>

            <td>(本郵件是程式自動下發的,請勿回覆!)</td>

        </tr>

        <tr>

            <td><h2>

                    <font color="#0000FF">構建結果 - ${BUILD_STATUS}</font>

                </h2></td>

        </tr>

            <tr> 

                <td><br /> 

                <b><font color="#0B610B">構建信息</font></b> 

                <hr size="2" width="100%" align="center" /></td> 

            </tr> 

            <tr> 

                <td> 

                    <ul> 

                        <li>項目名稱 : ${PROJECT_NAME}</li> 

                        <li>構建編號 : 第${BUILD_NUMBER}次構建</li> 

                        <li>觸發原因: ${CAUSE}</li> 

                        <li>構建日誌: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li> 

                        <li>構建  Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li> 

                        <li>工作目錄 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li> 

                        <li>項目  Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li> 

                    </ul> 

                </td> 

            </tr> 

            <tr> 

                <td><b><font color="#0B610B">變更集</font></b> 

                <hr size="2" width="100%" align="center" /></td> 

            </tr> 

             

            <tr> 

                <td>${JELLY_SCRIPT,template="html"}<br/> 

                <hr size="2" width="100%" align="center" /></td> 

            </tr> 

            

            

        </table> 

    </body> 

    </html> 

 

系統自帶郵件可以測試郵件設置是否成功

 

預設郵箱多個使用英文逗號隔開。設置好保存即可。

 

5、創建並配置項目

 

5.1新建項目,配置Git庫

輸入項目名稱選擇自由風格

 

 

2:源碼管理選擇git,輸入庫地址添加賬號密碼,輸入分支名稱

 

點擊Add添加git賬號密碼

 

如過報錯,查看錯誤提示。

 

提示無法解析主機,功能變數名稱沒有配置。

修改hosts文件

vim /etc/hosts

添加功能變數名稱即可

 

 

5.2設置構建觸發器

 第一種:隔斷時間對比git庫,發現有變更立即觸發構建。

 

構建觸發器選擇Poll SCM  輸入 H/3 * * * *    ‘3’代表3分種對比一次。

 

第二種:設置git鉤子,有推送事件立刻觸發構建。

 

先勾選Build when a change is pushed to GitLab. GitLab CI Service URL:…….

再選擇高級,點擊生成按鈕,生成一個Secret token

複製Secret token,和GitLab CI Service URL需要去git配置web hook使用。

(不同項目URL和token都不一樣)

 

 

 

 

 

Gitlab hook設置

Gitlab版本10.1

1:進入項目選擇設置

2:設置里選擇集成

3:輸入框輸入對應URL和token

4:取消SSH驗證,保存即可

生效後每次推送都會觸發這個鉤子,請求Jenkins執行構建任務。

版本不一樣設置不一樣,該設置適合新版本gitlab和新版Jenkins。

 

 

 

 

 

5.3構建步驟設置

 

選擇Execute shell

輸入執行腳本

例:rm -f /var/lib/jenkins/workspace/OPM/common/config/main-local.php &&  cp -Rf /var/lib/jenkins/workspace/OPM/* /home/htdocs/opm-it.hjzd.com

 

代碼拉取完會執行該腳本。

 

5.4添加構建後操作

  構建結果可以設置郵件提醒用戶。

構建後操作選擇Editable Email Notification

 

 

 

 

 

註意以下三點即可

 

郵件下麵點擊高級設置配置郵件觸發條件

 

觸發條件選擇全部

 

設置成功後會主頁點擊立即構建,構建後查看郵件發送是否成功。

 

 

 

成功發送的郵件模板為:

 

 

 

在控制台輸出里查看構建日誌。

鉤子觸發成功,構建成功,郵件發送成功說明項目已經配置成功。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 先決條件 本教程假定RabbitMQ已經安裝,並運行在 標準埠(5672)。如果你使用不同的主機、埠或證書,則需要調整連接設置。 從哪裡獲得幫助 如果您在閱讀本教程時遇到困難,可以通過郵件列表 "聯繫我們" 。 1.介紹 RabbitMQ是一個消息代理:它接受並轉發消息。您可以把它想象成一個郵局 ...
  • 在機房運行的四台伺服器中均出現了藍屏dmp文件,經過整理髮現CDMS主備伺服器最近(2018年1月開始)藍屏的dmp很多。經過自己的學習分析發現不足以找到先關的原因和處理方法,希望得到大牛們的幫助。以儘快解決此藍屏問題。 一、CDMS的兩台伺服器是現在網路運行中十分重要的伺服器,感謝廣大博友大牛們的 ...
  • 答案是我在這個網站上找到的: 執行 ~~~~~ xset dpms force off ~~~~~ 命令就可以解決掉這個問題。 再次運行 svgatest 程式,得到了預期的結果,perfect! ...
  • TFTP ...
  • 安裝時參考了https://www.jianshu.com/p/69a10d0a24b9 但由於版本不同,這裡主要記錄安裝包路徑, 一些註意事項,和基本過程。 CUDA8.0下載地址:https://developer.nvidia.com/cuda-80-ga2-download-archive ...
  • FTP相關介紹 FTP FTP雙通道協議:數據和命令連接 FTP的傳輸方式 FTP支持的模式 FTP的相關應用軟體程式 FTP用戶身份 FTP的狀態碼 ...
  • 在LCD顯示任意編碼的文本文件,類似電子書 怎樣在LCD上顯示文件: 需要哪幾個文件? 1.頂部文件 通過main.c分析命令行的操作,然後初始化各個管理文件下的結構體,比如DisplayInit(); 然後進入draw.c,在draw.c里按順序調用3個管理文件,並控制顯示. 2. encodin ...
  • 註: 1.本文安裝的是jdk1.8,採用rpm包的方式安裝。 2.rpm安裝方式預設會把jdk安裝到/usr/java/jdk1.8xxx 路徑上,若想將JDK安裝到特定路徑,需以源碼方式安裝。 步驟: 1.官網下載JDK1.8的rpm文件,並上傳到linux伺服器(任意目錄) 2.使用rpm命令安 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...