1. 程式人生 > >Jenkins服務搭建和部署

Jenkins服務搭建和部署

在最簡單的情況下,Jenkins 只需要兩個步驟:

2.執行 java -jar jenkins.war(也可以放入Tomcat下啟動)

注意:Jenkins 需要執行 Java 5以及以上的版本。Jenkins在linux系統下啟動不要使用root使用者去啟動tomcat

*admin密碼未更改情況

1.進入\Jenkins\secrets目錄,開啟initialAdminPassword檔案,複製密碼;

2.訪問Jenkins頁面,輸入管理員admin,及剛才的密碼;

3.進入後可更改其他管理員密碼;

*admin密碼更改忘記情況

1.刪除Jenkins目錄下config.xml檔案中下面程式碼,並儲存檔案。

  1. <useSecurity>true</useSecurity>  
  2. <authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy">  
  3.   <denyAnonymousReadAccess>true</denyAnonymousReadAccess>  
  4. </authorizationStrategy>  
  5. <securityRealm class="hudson.security.HudsonPrivateSecurityRealm"
    >  
  6.   <disableSignup>true</disableSignup>  
  7.   <enableCaptcha>false</enableCaptcha>  
  8. </securityRealm>  

2.重啟Jenkins服務;

4.勾選“啟用安全”;

5.點選“Jenkins專有使用者資料庫”,並點選“儲存”;

6.重新點選首頁>“系統管理”,發現此時出現“管理使用者”;

7.點選進入展示“使用者列表”;

8.點選右側進入修改密碼頁面,修改後即可重新登入。


還有一種安裝方式就是將下載的war包檔案部署到 servlet 容器,然後啟動容器,在瀏覽器的

URL位址列中輸入類似http://localhost:8080/jenkins/這樣的地址即可。下圖是安裝成功後的介面(使用的是Linux+Tomcat6+Java6環境):

 

圖2 Jenkins主介面

3 Jenkins配置

寫在配置前的一些話:Jenkins的配置不可能全部都說到的,大部分配置是有英文說明的,點選輸入框後面的問號就可以看見了。英文不會用翻譯工具,連蒙帶猜的,多測試幾次,你就懂了。

3.1 系統管理

在已執行的Jenkins主頁中,點選左側的系統管理進入如下介面:

 

3.1.1 提示資訊

Ps:版本不同提示的訊息有可能不同

3.1.1.1 Utf-8編碼

Your container doesn't use UTF-8 to decode URLs. If you use non-ASCII characters as a job name etc, this will cause problems. See Containers and Tomcat i18n for more details.

Jenkins建議在tomcat中使用utf-8編碼,配置tomcatconf目錄的server.xml檔案

 

圖4 URIEncoding編碼設定

Ps:如果Job的控制檯中文輸出亂碼,請將URIEncoding=”utf-8”更改為useBodyEncodingForURI="true"

3.1.1.2 新的版本

New version of Jenkins (1.518.JENKINS-14362-jzlib) is available for download (changelog).

提示有新的版本可以下載了,喜歡更新的點選download去下載吧!

3.1.1.3 安全設定

 

圖5 安全提示訊息

詹金斯允許網路上的任何人代表您啟動程序。考慮至少啟用身份驗證來阻止濫用。點選Dismiss忽略該訊息,點選Setup Security進入設定介面.詳細設定請參考 Configure Global Security(安全設定章節

3.1.2 系統設定

在已執行的Jenkins主頁中,點選左側的系統管理—>系統設定進入如下介面:

 

圖6 系統設定介面

3.1.2.1 JDK、Maven、Ant配置

配置一個JDK、AntMaven例項,請在每一節下面單擊Add(新增) 按鈕,這裡將新增例項的名稱和絕對地址。下圖描述了這兩個部分。

 

圖7 JDK配置介面

JDK別名:給你看的,隨便你自己定義

JAVA_HOME:這個是本機JDK的安裝路徑(錯誤的路徑會有紅字提示你的)

3.1.2.2 郵件通知配置

3.1.2.2.1 配置發件人地址

 

圖8 發件人地址配置介面

System Admin e-mail address:Jenkins郵件傳送地址,如果你這個沒有配置,等著發郵件的時候報錯吧。一定要配置正確

3.1.2.2.2 配置郵件通知

圖9 郵件通知

這個就非常的簡單了,根據的的郵箱提供者的引數配置就行了。

Ps:小技巧:使用者預設郵件字尾配置了後,以後你填寫郵件地址只需要@之前的就行了

3.1.2.3 Subversion配置

 

圖10 Subversion配置

Subversion Workspace Version:Subversion 的版本號,選擇你對應的版本號就行了

3.1.3 Configure Global Security(安全設定)

在已執行的Jenkins主頁中,點選左側的系統管理—>Configure Global Security進入如下介面:

 

圖11 安全設定介面

設定如上圖,儲存後系統管理中就出現管理使用者的選項。頁面右上角也會出現登入/註冊的選項。

3.1.4 管理使用者設定

在右上角點選註冊

 

圖12 註冊使用者介面

點選sign up按鈕,提示你現在已經登入.返回首頁.

登入後和匿名賬號看到的首頁有幾點不同,如下圖紅框所示:

 

圖13 使用者登入介面

3.1.5 管理外掛設定

建議先閱讀Jenkins外掛章節,在回來安裝如下所示的外掛。這個外掛將生成的構件(war或者ear)部署到主流的伺服器上。

外掛介紹:This plugin takes a war/ear file and deploys that to a running remote application server at the end of a build

3.2 專案構建設定

3.2.1 構建自由風格的Job

3.2.1.1 新建自由風格構建任務

在已執行的Jenkins主頁中,點選左側的新建Job進入如下介面:

 

圖14 新建Job介面

這時,需要為新的構建任務指定一個名稱。(這裡輸入的任務名稱為:Ant_test這裡有幾種的任務型別可供選擇,鑑於初步介紹,先選擇構建一個自由風格的軟體專案。對於其他的型別,經常使用的是拷貝已存在任務;這主要為了能在現有的任務基礎上新建任務。點選OK按鈕,

3.2.1.2 構建任務配置

3.2.1.2.1 原始碼管理配置

演示是使用Subversion的連結,在Repository URL中輸入你的專案連結,如果沒有許可權則會提示如下圖:

 

圖15 Subversion配置介面

點選 enter credential 輸入使用者名稱和密碼(我猜大家一般都是使用的使用者名稱和密碼登陸的)

 

圖16 Subversion許可權認證介面

Pssvn的使用者名稱和密碼設定了是沒有辦法在web介面修改的。如果要修改則先去Jenkins目錄刪除hudson.scm.SubversionSCM.xml檔案(點到為止,畢竟這只是入門教程)

3.2.1.2.2 構建觸發器

在其他專案構建完成後才執行構建:指定的專案完成構建後,觸發此專案的構建。

Poll SCM :這是CI 系統中常見的選項。當您選擇此選項,您可以指定一個定時作業表示式來定義Jenkins每隔多久檢查一下您原始碼倉庫的變化。如果發現變化,就執行一次構建。例如,表示式中填寫0,15,30,45 * * * *將使Jenkins每隔15分鐘就檢查一次您原始碼倉庫的變化。

Build periodically :此選項僅僅通知Jenkins按指定的頻率對專案進行構建,而不管SCM是否有變化。如果想在這個Job中執行一些測試用例的話,它就很有幫助。

3.2.1.2.3 Ant構建配置

因為我的專案是用ant指令碼實現的編譯和打包,所以我選擇的是Invoke Ant,Ant Version選擇你Ant配置的那個名字,注意不要選擇default喔,那個選擇了沒有用。

 

圖17 Ant構建配置介面

如果你的構建指令碼build.xml不在workspace根目錄、或者說你的構建指令碼不叫build.xml。那麼需要在高階裡設定Build File選項的路徑,指明你的指令碼。注意:是相對路徑

3.2.2 構建Maven風格的Job

3.2.2.1 新建Maven構建任務

 

圖18 新建Job介面

這時,需要為新的構建任務指定一個名稱。(這裡輸入的任務名稱為:maven_test這裡有幾種的任務型別可供選擇,鑑於初步介紹,先選擇構建一個maven2/3專案。對於其他的型別,經常使用的是拷貝已存在任務;這主要為了能在現有的任務基礎上新建任務。點選OK按鈕,

3.2.2.2 構建任務配置

 

圖19 構建任務配置介面

3.2.2.2.1 原始碼管理配置

演示是使用Subversion的連結,在Repository URL中輸入你的專案連結,如果沒有許可權則會提示如下圖:

 

圖20 Subversion配置介面

點選 enter credential 輸入使用者名稱和密碼(我猜大家一般都是使用的使用者名稱和密碼登陸的)

 

圖21 Subversion許可權認證介面

Pssvn的使用者名稱和密碼設定了是沒有辦法在web介面修改的。如果要修改則先去Jenkins目錄刪除hudson.scm.SubversionSCM.xml檔案(點到為止,畢竟這只是入門教程)

3.2.2.2.2 構建觸發器

在其他專案構建完成後才執行構建:指定的專案完成構建後,觸發此專案的構建。

Poll SCM :這是CI 系統中常見的選項。當您選擇此選項,您可以指定一個定時作業表示式來定義Jenkins每隔多久檢查一下您原始碼倉庫的變化。如果發現變化,就執行一次構建。例如,表示式中填寫0,15,30,45 * * * *將使Jenkins每隔15分鐘就檢查一次您原始碼倉庫的變化。

Build periodically :此選項僅僅通知Jenkins按指定的頻率對專案進行構建,而不管SCM是否有變化。如果想在這個Job中執行一些測試用例的話,它就很有幫助。

3.2.2.2.3 Maven構建設定

 

圖22 Maven構建配置介面

2013-08-22補充Goals and options :clean install  -Dmaven.test.skip=true  #加入了跳過測試的程式碼

Root POM:填寫你專案的pom.xml檔案的位置,注意:是相對位置,如果該檔案不存在,會有紅色字提示。

3.2.2.2.4 構建maven專案的心得

使用Jenkins構建maven專案的一點小心得:

maven專案的構建是比較麻煩的,如果你的專案是下圖這種結構。那麼恭喜你!你新建一個job就可以了,因為只有一個根。如果你的svn地址是:https://192.xxx/Pe_Project/root-pom,那麼Root POM只需要保持預設就行了,因為Jenkins可以再workspace目錄下面找到pom.xml檔案

如果你的svn址是:https://192.xxx/Pe_Project,那麼Root POM需要指定為root-pom/pom.xml,因為Jenkins可以再workspace/root-pom目錄下面找到pom.xml檔案

 

圖23 Maven專案結構介面1

上面這種方法打包的時候非常簡單,但是用eclipse開發的時候你就不右鍵run as —>tomca啟動了,如果你想使用這種方式,將tomcat換成jetty即可。

如果你的專案是下圖這種結構,那麼非常悲劇的告訴你,你要建立好幾個job來構建這一個專案,因為這個專案有4個根。

 

圖24 Maven專案結構介面2

上面這種方法打包的時候比較麻煩,但是用eclipse開發的時候你就可以使用右鍵run as —>tomca啟動了

3.2.3 郵件通知設定

 

圖25 構建後操作介面

選擇Add post-build action,然後選擇E-mail Notification,如下圖:

 

圖26 收件人列表介面

在Recipients中輸入收件人郵件地址,如果用多個收件人用“,”英文逗號隔開

3.2.4 War檔案部署設定

首先你必須安裝好Deploy Plugin外掛,然後在tomcatconf目錄配置tomcat-users.xml檔案,在<tomcat-users>節點裡新增如下內容:

<role rolename="manager-gui"/>

<role rolename="manager-script"/>

<role rolename="manager-jmx"/>

<role rolename="manager-status"/>

<user username="username" password="password" roles="manager-gui,manager-script,manager-jmx,manager-status"/>

引號裡的username和password可以隨便替換,待會要用的。

好了,回到Jenkins專案配置頁面:

 

圖27 構建後操作介面

選擇Add post-build action,然後選擇Deploy war/ear to a container,如下圖:

 

圖28 遠端部署配置介面

WAR/EAR files:war檔案的存放位置,如:target/test.war 注意:相對路徑,target前是沒有/的。

Context path:訪問時需要輸入的內容,如ofCard訪問時如下:http://192.168.x.x:8080/ofCard/如果為空,預設是war包的名字。

Container:選擇你的web容器,如tomca 6.x

Manager user name:填入tomcat-users.xml配置的username內容

Manager password:填入tomcat-users.xml配置的password內容

Tomcat URL:填入http://192.168.x.x:8080/

Deploy on failure:構建失敗依然部署,一般不選擇

注意:雖然這種部署方法可能會導致tomcat載入時出現卡死的現象。但是也是最簡單的部署方式。如果卡死了重啟下就好了,將tomcatjava記憶體引數調高可以解決這個問題。

最後不要忘記點選儲存喔。

好了!到此一個專案的獲取原始碼,打包,遠端部署,郵件通知就完成了。

3.3 監控

當任務一旦執行,您將會看到這個任務正在佇列中的儀表板和當前工作主頁上執行。這兩種顯示如下。

 

圖29 主頁監控(左),專案監控(右)

一旦構建完成後,完成後的任務將會有三個地方進行顯示。

你可以在Jenkins的控制面板上看到它,如下圖。

 

圖30 主頁專案介面

在上面展示的截圖中,您將注意到有兩個圖示描述當前作業的狀態。S欄目代表著“最新構建狀態”,W欄目代表著“構建穩定性”。Jenkins使用這兩個概念來介紹一個作業的總體狀況:

構建狀態:下圖中分級符號概述了一個Job新近一次構建會產生的四種可能的狀態: 

Successful:完成構建,且被認為是穩定的。

Unstable:完成構建,但被認為不穩定。

Failed:構建失敗。

Disabled:構建已禁用。

 

圖31 構建狀態介面

構建穩定性: 當一個Job中構建已完成並生成了一個未釋出的目標構件,如果您準備評估此次構建的穩定性,Jenkins會基於一些後處理器任務為構建釋出一個穩健指數 (從0-100 ),這些任務一般以外掛的方式實現。它們可能包括單元測試(JUnit)、覆蓋率(Cobertura )和靜態程式碼分析(FindBugs)。分數越高,表明構建越穩定。下圖中分級符號概述了穩定性的評分範圍。任何構建作業的狀態(總分100)低於80分就是不穩定的。

 

圖32 構建穩定性介面

你也可以在當前Job主介面上看到它,如下圖左下部分

 

圖33 專案主介面

當前作業主頁上還包含了一些有趣的條目。左側欄的連結主要控制Job的配置、刪除作業、構建作業。右邊部分的連結指向最新的專案報告和構件。

通過點選構建歷史(Build History)中某個具體的構建連結,您就能跳轉到Jenkins為這個構建例項而建立的構建主頁上。如下圖

 

圖34 構建歷史介面

如果你想通過檢視輸出介面來監控當前任務的進展情況。你可以單擊Console Output(控制檯輸出)。如果工作已完成,這將顯示構建指令碼產生的靜態輸出;如果作業仍然在執行中,Jenkins將不斷重新整理網頁的內容,以便您可以看到它執行時的輸出。如下圖:

 

圖35 控制檯輸出介面

4 Jenkins外掛

從Jenkins現有的功能擴充套件或開發者們為Jenkins提供的新功能都可以稱之為Jenkins外掛。有些外掛可以無縫新增到您的構建過程,而其它,諸如除CVS和Subversion的SCM外掛則需要原始碼控制系統的支援。

4.1 Jenkins外掛安裝

Jenkins 外掛管理器允許您安裝新的外掛,和更新您Jenkins伺服器上的外掛。管理者將連線到聯機資料庫,檢索可用的和已更新的外掛。如果您的Jenkins伺服器 無法直接連線到外部資源,您可以從Jenkins網站上下載。

在已執行的Jenkins主頁中,點選左側的系統管理—>管理外掛進入如下介面:

 

圖36 外掛管理介面

它包含四個標籤:

更新:清單中列示了Jenkins為某些外掛搜尋到了可用的更新。列出的每個外掛可以被選擇並應用更新。

可選安裝:清單中列示了可用於安裝(而不是目前已安裝的)的所有外掛。列出的每個外掛都可以被選擇並安裝。

已安裝:清單中列示了已經安裝的外掛。

高階:允許您通過設定HTTP代理的方式使Jenkins與線上外掛庫建立連線。此外,還提供了一個上傳裝置,可以安裝你在Jenkins以外已下載的那些外掛。

由上圖可知,Jenkins預設集成了maven2外掛,並且一旦外掛有新版本,會提示更新新版本外掛。

如果想安裝新的外掛,可以點選tab分頁中的可選外掛。如下圖:

 

圖37 可選外掛介面

從圖可知,各種Jenkins外掛根據之前所記述的型別進行分門別類。可勾選任意想安裝的Jenkins外掛,點選Install without restart按鈕進行安裝。安裝後,所有外掛以hpi作為字尾名放置在plugins資料夾下。如果是高階使用者還可以自行開發外掛方便具體專案使用。

注意:安裝完成後需要重啟Jenkins部署的容器。這樣才能使用新裝的外掛。

4.2 Jenkins外掛安裝示例

Jenkins執行自動部署war包到servlet容器內,要實現這個功能必須安裝一個外掛。

 

圖38 安裝外掛介面

 

圖39 外掛安裝介面

轉:http://www.cnblogs.com/zz0412/p/jenkins02.html 點選開啟連結


相關推薦

Jenkins持續整合01---Jenkins服務搭建部署

一、介紹Jenkins 1、Jenkins概念   Jenkins是一個功能強大的應用程式,允許持續整合和持續交付專案,無論用的是什麼平臺。這是一個免費的原始碼,可以處理任何型別的構建或持續整合。整合Jenkins可以用於一些測試和部署技術。Jenkins是一種軟體允許持續整合。 2、Jenkins目的

Jenkins服務搭建部署

在最簡單的情況下,Jenkins 只需要兩個步驟:2.執行 java -jar jenkins.war(也可以放入Tomcat下啟動)注意:Jenkins 需要執行 Java 5以及以上的版本。Jenkins在linux系統下啟動不要使用root使用者去啟動tomcat*ad

三週學會小程式第三講:服務搭建部署

通過第二講我們已經知道了怎麼快速搭建一個小程式客戶端,當然服務端也是必不可少的。登入驗證,內容儲存等等都離不開服務端。 本章節主要講解怎麼快速搭建一個服務端框架和免費部署。因為好多同學僅僅為了學習小程式,為此購買一個伺服器成本還是蠻高的,所以小編特此找了一種免費的服務資源提供給大家,等到你真正要部署小程式的時

基於rhel7.2的Zabbix平臺搭建部署(一)

linux 監控軟件 zabbix nginx mysql php lnmp基於rhel7.2的zabbix平臺搭建和部署(一)一、實驗環境:(1)虛擬機:rhel7.2 x86_64(2)數據庫:mysql5.7.13(3)nginx1.10.2(4)PHP5.6.27(5)zabbix二、安裝編譯工具及

基於rhel7.2的Zabbix平臺搭建部署(四)

linux 監控軟件 zabbix nginx mysql php lnmp基於rhel7.2的Zabbix平臺搭建和部署(四)一、實現zabbix添加監測項,添加對Linux主機的監控、說明:先在“配置”-“主機”裏添加主機監控,監控os資源:內存,cpu,io,負載,帶寬等.(1)登錄zabbix,先在

mysql的服務搭建基礎認識

連接數據庫 刪除數據 status 語法 mysql- install 路徑 小寫 內容 day01一、搭建數據庫服務器1、安裝提供數據庫服務的軟件數據庫服務軟件有哪些?軟件是否跨平臺軟件是否開源 (開源軟件不等於免費,商業軟件要收費)軟件的來源軟件的封包類型 (r

[自動化]Puppet服務安裝部署

system ets 目的 sha 修改權限 info emc ESS unix puppet簡介 puppet是一種基於ruby語言開發的Lnux、Unix、windows平臺的集中配置管理系統。它使用自有的puppet描述語言,可管理配置文件file、用戶user、c

測試環境搭建部署(在Linux環境下搭建jdk+Tomcat+mysql環境項目包的部署

pri 環境 安裝包 mysq 自己 進行 配置jdk linu 連接數   1.Linux環境(我搭建的是64位centos版本的linux系統)   1.下載並安裝一個VMware Workstation虛擬機,是搭建Linux系統的平臺。     2.下載一個

Mongo DB 簡單搭建部署

god RoCE 如果 ext x86 下載源 download engine cal 1.先下載源代碼包 官網下載地址:http://www.mongodb.org/downloads 2.解包tar xf mongodb-linux-x86_64-rhel62-3.2.

自動化運維工具Puppet服務安裝部署詳解

puppet簡介 puppet是一種基於ruby語言開發的Lnux、Unix、windows平臺的集中配置管理系統。它使用自有的puppet描述語言,可管理配置檔案file、使用者user、cron任務、軟體包、系統服務等系統實體。 puppet依賴於C/S(客戶端/伺服器)的部署架構。它需要在p

Linux系統——JumpServer跳板機的搭建部署

公網源部署jumpserver跳板機 建立阿里雲公網源yum倉庫(服務端)[[email protected] ~]# lsanaconda-ks.cfg install.log.syslog jumpserver-0.3.2.tar.gzinstall.log jumpserver-0.3.2

JAVA MyEclipse中Web Service的搭建部署

1、新建一個 Web Service Project 2、新建一個Text類 程式碼如下: package com.text; import javax.jws.WebService; import javax.xml.ws.Endpoint; @Web

網站伺服器服務搭建埠對映

啟動Apache(或者Tomcat)和MySQL (我本人子在網站根目錄下沒有放置主頁,在子目錄下放,有方便除錯不同的專案,在上線的網站都是在主頁放置index檔案的例如index.html或者index.php之類的) 購買隧道並且配置

JumpServer跳板機的搭建部署

公網源部署jumpserver跳板機 建立阿里雲公網源yum倉庫(服務端) [[email protected] ~]# ls anaconda-ks.cfg install.log.syslog jumpserver-0.3.2.tar.gz insta

HA搭建部署

HA叢集安裝部署 1 執行環境 1.1 軟體環境 四個節點 OS:64位RHEL5及以上或者64位CentOS6.0及以上 JVM:預裝64位JDK 1.8及以上版本 1.2 瀏覽器要求 Firefox 39.0.0版本及以上或者Google Chrome

idea搭建部署maven專案

idea是一款非常漂亮的開發工具,自從使用了idea之後我就不想再用myecplise,也使用了一段時間,今天總結一下使用idea搭建maven專案並部署到tomcat下的方法,不懂得如何使用idea的

Centos7 實現Hadoop-2.9.1分散式叢集搭建部署(三臺機器)

一、準備三臺虛擬機器hadoop 192.168.131.128 localhost131 192.168.131.131 localhost134 192.168.131.134(以上是我的三臺虛擬機器的hostname 和 ip)hadoop 是 master 的 hos

基於maven使用IDEA搭建部署SpringBoot多模組專案(Multi-Module)

What matters in life is not what happens to you but what you remember and how you remember it. 生命中真正重要的不是你遭遇了什麼,而是你記住了哪些事,又是如

Jenkins環境搭建——應用部署伺服器準備(三)

部署應用需要一臺裝有Linux系統的主機(實體機、虛擬機器都可)。Linux系統在網路管理,記憶體管理,安全控制方面都很強大。 一、前期準備 1、確定IP地址:在Linux命令列中輸入ifconfig,檢視Linux主機的IP地址。 2、確定Linux系統的使用

hdfs偽分散式叢集搭建部署詳解

    大家好,這是我的第一篇技術部落格,也是第一篇部落格,請大家多多支援。我寫部落格的初衷無非是對所學知識的回顧和總結,同時能與廣大的讀者一起探討,共同進步,這是一件非常令人開心的事。     部落格的內容大都是大資料技術相關,今天要說的是hadoop,以後會可能還會更新