Jenkins是一個允許持續集成的軟體。詹金斯將被安裝在一個伺服器上,在那裡進行中央建設。下面的流程圖演示了一個非常簡單的Jenkins工作流程。
與詹金斯一樣,有時人們也會看到赫德森的聯繫。Hudson是一個非常流行的基於Java的開源持續集成工具,由Sun Microsystems開發,後來被Oracle收購。甲骨文收購Sun之後,從Hudson原始碼創建了一個fork,從而引入了Jenkins。
What is Continuous Integration?
持續集成是一種開發實踐,要求開發人員定期將代碼集成到共享存儲庫中。這個概念的目的是消除在構建生命周期中發現問題稍後發生的問題。持續集成要求開發人員有頻繁的構建。通常的做法是,每當發生代碼提交時,都應該觸發生成。
System Requirements
JDK | JDK 1.5 or above |
Memory | 2 GB RAM (recommended) |
Disk Space | No minimum requirement. Note that since all builds will be stored on the Jenkins machines, it has to be ensured that sufficient disk space is available for build storage. |
Operating System Version | Jenkins can be installed on Windows, Ubuntu/Debian, Red Hat/Fedora/CentOS, Mac OS X, openSUSE, FReeBSD, OpenBSD, Gentoo. |
Java Container | The WAR file can be run in any container that supports Servlet 2.4/JSP 2.0 or later.(An example is Tomcat 5). |
Jenkins - Installation
Download Jenkins
詹金斯的官方網站是詹金斯。如果你點擊給定的連結,你可以得到詹金斯官方網站的主頁,如下所示。
默認情況下,可下載最新版本和長期支持版本。過去的版本也可以下載。單擊「下載」部分中的「長期支持發布」選項卡。
點擊連結「舊但穩定的版本」下載詹金斯戰爭文件。
Starting Jenkins
打開命令提示符。在命令提示符下,瀏覽到jenkins.war文件所在的目錄。運行以下命令
D:\>Java –jar Jenkins.war
命令運行後,將運行各種任務,其中之一是提取war文件,該文件由一個名爲winstone的嵌入式web伺服器完成。
D:\>Java –jar Jenkins.war Running from: D:\jenkins.war Webroot: $user.home/ .jenkins Sep 29, 2015 4:10:46 PM winstone.Logger logInternal INFO: Beginning extraction from war file
一旦處理完成且沒有重大錯誤,命令提示符的輸出中將出現以下行。
INFO: Jenkins is fully up and running
Accessing Jenkins
一旦Jenkins啓動並運行,就可以從連結−http://localhost:8080訪問Jenkins
這個連結將打開詹金斯儀錶盤。
Jenkins – Tomcat Setup
Jenkins Tomcat安裝程序必須滿足以下先決條件。
Step 1: Verifying Java Installation
要驗證Java安裝,請打開控制台並執行以下Java命令。
OS | Task | Command |
---|---|---|
Windows | Open command console | \>java –version |
Linux | Open command terminal | $java –version |
如果Java已經正確地安裝在您的系統上,那麼您應該獲得以下輸出之一,這取決於您正在使用的平台。
OS | Output |
---|---|
Windows |
Java版本「1.7.0_60」 Java(TM)SE運行時環境(構建1.7.0 U 60-b19) Java Hotspot(TM)64位伺服器虛擬機(構建24.60-b09,混合模式) |
Linux |
java版本「1.7.0_25」 打開JDK運行時環境(rhel-2.3.10.4.el6_4-x86_64) 打開JDK 64位伺服器虛擬機(內部版本23.7-b01,混合模式) |
在繼續學習本教程之前,我們假設本教程的讀者已經在他們的系統上安裝了Java1.7.0_60。
如果您沒有Java JDK,可以從oracle連結下載
Step 2: Verifying Java Installation
將JAVA HOME環境變量設置爲指向機器上安裝JAVA的基本目錄位置。例如,
OS | Output |
---|---|
Windows | Set Environmental variable JAVA_HOME to C:\ProgramFiles\java\jdk1.7.0_60 |
Linux | export JAVA_HOME=/usr/local/java-current |
將Java編譯器位置的完整路徑附加到系統路徑。
OS | Output |
---|---|
Windows | Append the String; C:\Program Files\Java\jdk1.7.0_60\bin to the end of the system variable PATH. |
Linux | export PATH=$PATH:$JAVA_HOME/bin/ |
從命令提示符驗證命令java版本,如上所述。
Step 3: Download Tomcat
tomcat的官方網站是tomcattomcat。如果您單擊給定的連結,您可以獲得tomcat官方網站的主頁,如下所示。
瀏覽到連結https://tomcat.apache.org/download-70.cgi>https://tomcat.apache.org/download-70.cgi以獲取tomcat的下載。
轉到「二進位分布」部分。下載32位Windows zip文件。
然後解壓縮下載的zip文件的內容。
Step 4: Jenkins and Tomcat Setup
複製從上一節下載的Jenkis.war文件,並將其複製到tomcat文件夾中的webapps文件夾。
現在打開命令提示符。在命令提示符下,瀏覽到tomcat7文件夾所在的目錄。瀏覽到此文件夾中的bin目錄並運行start.bat文件
E:\Apps\tomcat7\bin>startup.bat
一旦處理完成且沒有重大錯誤,命令提示符的輸出中將出現以下行。
INFO: Server startup in 1302 ms
打開瀏覽器並轉到連結−http://localhost:8080/jenkins。詹金斯會在tomcat上跑起來的。
Jenkins - Git Setup
在本練習中,您必須確保安裝了Jenkins的計算機上存在Internet連接。在Jenkins儀錶板(主螢幕)中,單擊左側的managejenkins選項。
在下一個螢幕中,單擊「管理插件」選項。
在下一個螢幕中,單擊「可用」選項卡。此選項卡將提供可供下載的插件列表。在「Filter」選項卡中鍵入「Git plugin」
然後將篩選列表。選中Git Plugin選項並單擊「不重新啓動安裝」按鈕
安裝將開始,螢幕將刷新以顯示下載狀態。
所有安裝完成後,通過在瀏覽器中發出以下命令重新啓動Jenkins。http://localhost:8080/jenkins/restart
在Jenkins重新啓動之後,Git將作爲配置作業時的一個選項可用。要驗證,請單擊Jenkins菜單選項中的New Item。然後輸入作業的名稱,在以下情況下,輸入的名稱爲「Demo」。選擇「自由式項目」作爲項目類型。單擊「確定」按鈕。
在下一個螢幕中,如果您瀏覽到原始碼管理部分,您現在將看到「Git」作爲一個選項。
Jenkins – Maven Setup
Step 1: Downloading and Setting Up Maven
maven的官方網站是apache maven。如果你點擊給定的連結,你可以得到maven官方網站的主頁,如下所示。
瀏覽網站時,轉到「文件」部分並下載指向Binary.zip文件的連結。
下載文件後,將文件解壓縮到相關的應用程式文件夾。爲此,maven文件將放在E:\ Apps\apache-maven-3.3.3中。
Step 2: Setting up Jenkins and Maven
在Jenkins儀錶板(主螢幕)中,單擊左側菜單中的管理Jenkins。
然後,從右側單擊「配置系統」。
在「配置系統」螢幕中,向下滾動,直到看到Maven部分,然後單擊「添加Maven」按鈕。
取消選中「自動安裝」選項。
爲設置和MAVEN_HOME的位置添加任何名稱。
然後,單擊螢幕末端的「保存」按鈕。
現在可以使用「Maven project」選項創建作業。在Jenkins儀錶板中,單擊New Item選項。
Jenkins - Configuration
您可能已經在前面的練習中看到過幾次了,其中我們必須在Jenkins中配置選項。下面顯示了Jenkins中的各種配置選項。
因此,您可以通過單擊左側菜單中的「管理詹金斯」選項來獲得詹金斯的各種配置選項。
然後,您將看到下面的螢幕&減號;
單擊配置系統。下面討論一些可以執行的Jenkins配置設置。
Jenkins Home Directory
詹金斯需要一些磁碟空間來執行構建和保存存檔。可以從Jenkins的配置螢幕上查看這個位置。默認情況下,此值設置爲~/.jenkins,並且此位置最初將存儲在用戶配置文件位置中。在適當的環境中,需要將此位置更改爲足夠的位置以存儲所有相關的生成和存檔。一次可以用以下方法
在啓動servlet容器之前,將「JENKINS_HOME」環境變量設置爲新的主目錄。
將「JENKINS_HOME」系統屬性設置爲servlet容器。
將JNDI環境條目「JENKINS_HOME」設置到新目錄。
下面的示例將使用設置「JENKINS_HOME」環境變量的第一個選項。
首先創建一個新文件夾E:\ Apps\Jenkins。將所有內容從現有的~/.jenkins複製到此新目錄。
將JENKINS_HOME環境變量設置爲指向機器上安裝Java的基本目錄位置。例如,
OS | Output |
---|---|
Windows | Set Environmental variable JENKINS_HOME to you』re the location you desire. As an example you can set it to E:\Apps\Jenkins |
Linux | export JENKINS_HOME =/usr/local/Jenkins or the location you desire. |
在Jenkins儀錶板中,單擊左側菜單中的管理Jenkins。然後單擊右側的「配置系統」。
在主目錄中,您現在將看到已配置的新目錄。
# of executors
這是指可以在Jenkins機器上執行的並發作業總數。這可以根據需求進行更改。有時建議保持這個數字與機器上的CPU數量相同,以獲得更好的性能。
Environment Variables
這用於添加將應用於所有作業的自定義環境變量。這些是鍵值對,可以在需要時訪問並在構建中使用。
Jenkins URL
默認情況下,Jenkins URL指向localhost。如果爲您的計算機設置了域名,請將其設置爲域名,否則將使用IP of machine覆蓋本地主機。這將有助於設置從伺服器,並在使用電子郵件發送連結時,因爲您可以使用環境變量Jenkins_URL直接訪問Jenkins URL,Jenkins_URL可以作爲${Jenkins_URL}訪問。
Email Notification
在「電子郵件通知」區域中,可以配置發送電子郵件的SMTP設置。這是詹金斯連接到SMTP郵件伺服器並向收件人列表發送電子郵件所必需的。
Jenkins - Management
要管理詹金斯,請單擊左側菜單中的「管理詹金斯」選項。
因此,您可以通過單擊左側菜單中的「管理詹金斯」選項來獲得詹金斯的各種配置選項。
然後,您將看到下面的螢幕&減號;
一些管理選項如下所示;
Configure System
在這裡,可以管理到要在構建中使用的各種工具的路徑,例如jdk、Ant和Maven的版本,以及安全選項、電子郵件伺服器和其他系統範圍的配置詳細信息。安裝插件時。Jenkins將在插件安裝後動態添加所需的配置欄位。
Reload Configuration from Disk
Jenkins將其所有系統和構建作業配置詳細信息存儲爲XML文件,這些文件存儲在Jenkins主目錄中。這裡還存儲了所有的構建歷史。如果要將生成作業從一個Jenkins實例遷移到另一個Jenkins實例,或存檔舊的生成作業,則需要將相應的生成作業目錄添加或刪除到Jenkins的生成目錄。您不需要讓Jenkins離線來完成這項工作,只需使用「Reload Configuration from Disk」選項來重新加載Jenkins系統並直接構建作業配置。
Manage Plugin
在這裡,您可以從不同的原始碼管理工具(如Git、Mercurial或ClearCase)安裝各種各樣的第三方插件,以實現代碼質量和代碼覆蓋率度量報告。可以通過管理插件螢幕安裝、更新和刪除插件。
System Information
此螢幕顯示所有當前Java系統屬性和系統環境變量的列表。這裡可以準確地檢查運行的是哪個版本的Java Jenkins,運行的是哪個用戶,等等。
下面的螢幕截圖顯示了本節提供的一些名稱值信息。
System Log
系統日誌螢幕是實時查看Jenkins日誌文件的便捷方式。同樣,此螢幕的主要用途是進行故障排除。
Load Statistics
這個頁面顯示了Jenkins實例在並發構建的數量和構建隊列的長度方面有多忙的圖形數據,這讓我們知道您的構建在執行之前需要等待多長時間。從基礎設施的角度來看,這些統計數據可以很好地說明是否需要額外的容量或額外的構建節點。
Script Console
此螢幕允許您在伺服器上運行Groovy腳本。它對於高級故障排除非常有用,因爲它需要對內部Jenkins體系結構有很強的了解。
Manage nodes
詹金斯能夠處理並行和分布式構建。在此螢幕中,可以配置所需的生成數。詹金斯同時運行,如果您使用的是分布式構建,則設置構建節點。構建節點是Jenkins可以用來執行其構建的另一台機器。
Prepare for Shutdown
如果需要關閉Jenkins,或者Jenkins正在運行伺服器,那麼在執行構建時最好不要這樣做。要徹底關閉Jenkins,可以使用Prepare for shut down連結,該連結可防止啓動任何新的生成。最終,當所有當前的構建都完成時,可以完全關閉Jenkins。
Jenkins - Setup Build Jobs
在本練習中,我們將在Jenkins中創建一個作業,它將獲取一個簡單的HelloWorld應用程式,構建並運行java程序。
步驟1−轉到Jenkins儀錶板並單擊New Item
步驟2−在下一個螢幕中,輸入項目名,在本例中,我們將其命名爲Helloworld。選擇「自由式項目選項」
步驟3−將出現以下螢幕,您可以在其中指定作業的詳細信息。
步驟4−我們需要指定需要生成的文件的位置。在本例中,我們假設已經設置了一個本地git存儲庫(E:\程序),其中包含一個「HelloWorld.java」文件。因此,向下滾動並單擊Git選項,然後輸入本地Git存儲庫的URL。
注意−如果存儲庫位於Github上,也可以在此處輸入該存儲庫的url。除此之外,您還需要單擊憑據的「添加」按鈕,將用戶名和密碼添加到github存儲庫,以便可以從遠程存儲庫中提取代碼。
步驟5−現在轉到「生成」部分,單擊「添加生成」步驟→執行Windows批處理命令
步驟6−在「命令」窗口中,輸入以下命令,然後單擊「保存」按鈕。
Javac HelloWorld.java Java HelloWorld
Step 7 − Once saved, you can click on the Build Now option to see if you have successfully defined the job.
Step 8 − Once the build is scheduled, it will run. The following Build history section shows that a build is in progress.
Step 9 − Once the build is completed, a status of the build will show if the build was successful or not. In our case, the following build has been executed successfully. Click on the #1 in the Build history to bring up the details of the build.
步驟10−單擊控制台輸出連結查看生成的詳細信息
除了上面顯示的步驟之外,創建構建作業的方法非常多,可用的選項也很多,這使得Jenkins成爲一個非常棒的連續部署工具。
Jenkins - Unit Testing
Jenkins爲Junit提供了開箱即用的功能,並爲其他技術的單元測試提供了大量插件,例如MSTest for.Net單元測試。如果您轉到https://wiki.jenkins ci.org/display/jenkins/xUnit+Plugin>連結https://wiki.jenkins ci.org/display/jenkins/xUnit+Plugin,它將給出可用的單元測試插件列表。
Example of a Junit Test in Jenkins
下面的示例將考慮
- A simple HelloWorldTest class based on Junit.
- Ant as the build tool within Jenkins to build the class accordingly.
步驟1−轉到Jenkins儀錶板,單擊現有的HelloWorld項目並選擇Configure選項
步驟2−瀏覽到要添加生成步驟的部分並選擇要調用Ant的選項。
第3步單擊「高級」按鈕。
步驟4−在build file部分中,輸入build.xml文件的位置。
第5步−下一步單擊「添加後期生成」選項並選擇「發布Junit測試結果報告」選項
步驟6−在測試報告XML中,輸入如下所示的位置。確保報表是在HelloWorld項目工作區中創建的文件夾。「*.xml」基本上告訴Jenkins獲取運行Junit測試用例生成的結果xml文件。這些xml文件隨後被轉換爲可供以後查看的報告。
完成後,單擊末尾的「保存」選項。
步驟7−保存後,可以單擊「立即生成」選項。
生成完成後,生成的狀態將顯示生成是否成功。在生成輸出信息中,您現在將注意到一個名爲Test Result的附加部分。在我們的例子中,我們輸入了一個否定的測試用例,這樣結果就會失敗。
可以轉到控制台輸出查看更多信息。但更有趣的是,如果您單擊測試結果,您現在將看到測試結果的向下鑽取。
Jenkins - Automated Testing
持續集成的基本原則之一是構建應該是可驗證的。您必須能夠客觀地確定特定構建是否準備好進入構建過程的下一個階段,而最方便的方法是使用自動化測試。如果沒有適當的自動化測試,您會發現自己必須保留許多構建工件並手工測試它們,這很難體現出持續集成的精神。下面的示例演示如何使用Selenium運行自動web測試。
步驟1−轉到「管理插件」。
步驟2−找到Hudson Selenium插件並選擇安裝。重新啓動Jenkins實例。
步驟3−轉到「配置系統」。
步驟4−配置selenium伺服器jar並單擊Save按鈕。
注意−selenium jar文件可以從以下位置下載:seleniumhq
單擊Selenium獨立伺服器的下載。
步驟5−返回儀錶板並單擊HelloWorld項目的配置選項。
步驟6−單擊「添加生成步驟」並選擇「SeleniumHQ htmlSuite Run」選項
步驟7−添加硒測試所需的詳細信息。這裡的suiteFile是使用Selenium IDE生成的測試套件。單擊保存並執行生成。現在,post-build將啓動selenium驅動程序,並執行html測試。
Jenkins - Notification
Jenkins提供了一個開箱即用的工具,可以爲構建項目添加電子郵件通知。
步驟1−配置SMTP伺服器。轉到管理Jenkins→配置系統。轉到電子郵件通知部分,輸入所需的SMTP伺服器和用戶電子郵件後綴詳細信息。
第2步−在Jenkins項目中配置收件人-當您配置任何Jenkins構建項目時,在最後可以添加收件人,這些收件人將獲得不穩定或損壞的構建的電子郵件通知。然後單擊保存按鈕。
除了默認之外,市場上還有通知插件。一個例子是Tikal Knowledge的通知插件,它允許以JSON和XML格式發送作業狀態通知。此插件允許按如下所示配置端點。
以下是每個選項的詳細信息;
「Format」−這是通知負載格式,可以是JSON或XML。
「Protocol」−用於發送通知消息的協議,HTTP、TCP或UDP。
「Event」−觸發通知的作業事件:作業已啓動、作業已完成、作業已完成或所有事件(默認選項)。
「URL」−發送通知的URL。對於http協議,它採用「http://host」的形式;對於TCP和UDP協議,它採用「
」host:port「
的形式。「Timeout」−發送通知請求的超時(毫秒),默認爲30秒。
Jenkins - Reporting
如前一節所示,有許多報告插件可用,其中最簡單的一個是jUnit測試可用的報告。
在任何作業的生成後操作中,都可以定義要創建的報告。生成完成後,測試結果選項將可用於進一步深入研究。
Jenkins - Code Analysis
詹金斯有很多代碼分析插件。各種插件可以在https://wiki.jenkins ci.org/display/jenkins/Static+Code+Analysis+Plug ins>https://wiki.jenkins ci.org/display/jenkins/Static+Code+Analysis+plugins找到
此插件爲靜態代碼分析插件提供實用程序。Jenkins可以解析來自各種代碼分析工具(如CheckStyle、FindBugs、PMD等)的結果文件。對於每個對應的代碼分析工具,需要在Jenkins中安裝一個插件。
此外,還提供了附加插件靜態分析採集器,它將這些插件的單個結果合併到單個趨勢圖和視圖中。
插件可以提供如下信息
- The total number of warnings in a job
- A showing of the new and fixed warnings of a build
- Trend Reports showing the number of warnings per build
- Overview of the found warnings per module, package, category, or type
- Detailed reports of the found warnings optionally filtered by severity (or new and fixed)
Jenkins - Distributed Builds
有時,如果有一個更大、更重的項目需要定期構建,那麼就需要許多構建機。在中央計算機上運行所有這些構建可能不是最好的選擇。在這種情況下,可以將其他Jenkins機器配置爲從機,以減輕主Jenkins伺服器的負載。
有時您可能還需要幾個不同的環境來測試您的構建。在這種情況下,使用從機來表示每個所需的環境幾乎是必須的。
從機是設置爲從主機卸載生成項目的計算機,一旦設置,任務的分發就相當自動化。具體的委派行爲取決於每個項目的配置;有些項目可能選擇「堅持」特定的計算機進行構建,而另一些項目可能選擇在從機之間自由漫遊。
由於每個從機運行一個稱爲「從機代理」的單獨程序,因此無需在從機上安裝完整的Jenkins(包或編譯的二進位文件)。啓動從機代理的方法有很多種,但最終從機代理和Jenkins主機需要建立一個雙向通信鏈路(例如TCP/IP套接字)才能運行。
要在Jenkins中設置從機/節點,請遵循以下步驟。
步驟1−轉到Manage Jenkins部分並向下滾動到Manage Nodes部分。
第2步−單擊新節點
步驟3−爲節點命名,選擇Dumb slave選項並單擊Ok。
步驟4−輸入節點從屬計算機的詳細信息。在下面的示例中,我們將從機視爲windows機器,因此選擇「讓Jenkins將此windows從機作爲windows服務進行控制」作爲啓動方法。我們還需要添加從屬節點的必要詳細信息,例如節點名稱和節點計算機的登錄憑據。單擊「保存」按鈕。名稱輸入爲「New_Slave」的標籤可用於配置作業以使用此從機。
完成上述步驟後,新節點計算機最初將處於脫機狀態,但如果正確輸入了前一螢幕中的所有設置,則會聯機。如果需要,可以隨時使節點從機脫機。
Jenkins - Automated Deployment
有許多插件可用於在成功構建後將構建文件傳輸到相應的應用程式/web伺服器。例如「部署到容器插件」。要使用此功能,請遵循以下步驟。
步驟1−轉到「管理Jenkins→管理插件」。轉到「可用」部分,找到插件「部署到容器插件」並安裝該插件。重新啓動Jenkins伺服器。
這個插件接受一個war/ear文件,並在構建結束時將其部署到正在運行的遠程應用伺服器。
Tomcat 4.x/5.x/6.x/7.x版
JBoss 3.x/4.x版本
玻璃魚2.x/3.x
步驟2−轉到生成項目並單擊「配置」選項。選擇「將war/ear部署到容器」選項
步驟3−在Deploy war/ear to a container部分中,輸入需要部署文件的伺服器的所需詳細信息,然後單擊Save按鈕。這些步驟現在將確保在成功構建之後,將必要的文件部署到必要的容器中。
Jenkins - Metrics & Trends
Jenkins中提供了各種插件來展示在一段時間內執行的構建的度量。這些度量對於理解您的構建以及它們在一段時間內失敗/通過的頻率非常有用。作爲一個例子,讓我們看看「構建歷史度量插件」。
此插件計算安裝後所有生成的以下度量
- Mean Time To Failure (MTTF)
- Mean Time To Recovery (MTTR)
- Standard Deviation of Build Times
步驟1−轉到Jenkins儀錶板並單擊「管理Jenkins」
步驟2−轉到「管理插件」選項。
步驟3−轉到「可用」選項卡,搜索插件「生成歷史度量插件」,然後選擇「不重新啓動即可安裝」。
步驟4−將顯示以下螢幕,以確認插件安裝成功。重新啓動Jenkins實例。
當您轉到您的作業頁面時,您將看到一個包含計算指標的表。顯示過去7天、過去30天和所有時間的度量值。
要查看Jenkins的總體趨勢,可以使用插件從構建和Jenkins中收集信息,並以圖形格式顯示它們。這種插件的一個例子是「Hudson global build stats插件」。所以讓我們來看看這些步驟。
步驟1−轉到Jenkins儀錶板並單擊「管理Jenkins」
步驟2−轉到「管理插件」選項
步驟3−轉到「可用」選項卡,搜索插件「Hudson global build stats plugin」,然後選擇「不重新啓動即可安裝」。
步驟4−將顯示以下螢幕,以確認插件安裝成功。重新啓動Jenkins實例。
要查看全局統計信息,請按照步驟5到8進行操作。
步驟5−轉到Jenkins儀錶板並單擊管理Jenkins。在Manage Jenkins螢幕中,向下滾動,現在您將看到一個名爲「Global Build Stats」的選項。單擊此連結。
步驟6−單擊「初始化統計」按鈕。這樣做的目的是收集已經執行的構建的所有現有記錄,並基於這些結果創建圖表。
步驟7−數據初始化後,就可以創建新圖表了。單擊「創建新圖表」連結。
步驟8將出現一個彈出窗口,輸入新圖表詳細信息的相關信息。輸入以下強制信息
- Title – Any title information, for this example is given as 『Demo』
- Chart Width – 800
- Chart Height – 600
- Chart time scale – Daily
- Chart time length – 30 days
其餘信息可以保持原樣。輸入信息後,單擊「創建新圖表」。
現在您將看到一個圖表,其中顯示了構建隨時間變化的趨勢。
如果您單擊圖表中的任何部分,它將爲您提供作業及其生成的詳細信息。
Jenkins - Server Maintenance
以下是您將要執行的一些基本活動,其中一些是Jenkins伺服器維護的最佳實踐
URL Options
以下命令在附加到Jenkins實例URL時將對Jenkins實例執行相關操作。
http://localhost:8080/jenkins/exit−關閉jenkins
http://localhost:8080/jenkins/restart−重新啓動jenkins
http://localhost:8080/jenkins/reload−重新加載配置
Backup Jenkins Home
Jenkins主目錄只是驅動器上Jenkins存儲作業、構建等所有信息的位置。單擊Manage Jenkins→Configure system可以看到主目錄的位置。
在可用磁碟空間最大的分區上設置Jenkins–由於Jenkins將爲定義的各種作業獲取原始碼並進行連續構建,請始終確保Jenkins設置在具有足夠硬碟空間的驅動器上。如果硬碟空間不足,那麼Jenkins實例上的所有構建都將開始失敗。
另一個最佳實踐是編寫cron作業或可以執行清理操作的維護任務,以避免Jenkins安裝所在的磁碟變滿。
Jenkins - Continuous Deployment
詹金斯爲持續部署和交付提供了良好的支持。如果您查看通過部署的任何軟體開發流程,它將如下所示。
持續部署的主要部分是確保上面所示的整個過程是自動化的。Jenkins通過各種插件實現了所有這些,其中一個是「Deploy to container插件」,這在前面的課程中已經看到。
有一些插件可以提供連續部署過程的圖形表示。但首先讓我們在Jenkins中創建另一個項目,這樣我們就可以最好地了解它是如何工作的。
讓我們創建一個模擬QA階段的簡單項目,並對Helloworld應用程式進行測試。
步驟1−轉到Jenkins儀錶板並單擊New Item。選擇「自由式項目」並將項目名稱輸入爲「QA」。單擊「確定」按鈕創建項目。
步驟2−在本例中,我們將保持它的簡單性,並使用此項目爲Helloworld應用程式執行測試程序。
所以我們的QA項目現在已經準備好了。您可以執行生成以查看它是否正確生成。
步驟3−現在轉到Helloworld項目並單擊Configure選項
步驟4−在項目配置中,選擇「添加生成後操作」並選擇「生成其他項目」
步驟5−在「要生成的項目」部分,輸入QA作爲要生成的項目名稱。您可以將該選項保留爲默認值「僅當生成穩定時才觸發」。單擊保存按鈕。
步驟6−構建Helloworld項目。現在,如果您看到控制台輸出,您還將看到在Helloworld項目成功構建之後,QA項目的構建也將發生。
步驟7−現在安裝傳送管道插件。轉到「管理Jenkins→管理插件」。在「可用」選項卡中,搜索「傳送管道插件」。單擊安裝而不重新啓動。完成後,重新啓動Jenkins實例。
第8步−要查看正在運行的傳送管道,請在Jenkins儀錶板中,單擊「全部」選項卡旁邊選項卡中的+符號。
步驟9−輸入視圖名稱的任意名稱,然後選擇「傳送管道視圖」選項。
第10步在下一個螢幕中,您可以保留默認選項。您可以更改以下設置;
- Ensure the option 『Show static analysis results』 is checked.
- Ensure the option 『Show total build time』 is checked.
- For the Initial job – Enter the Helloworld project as the first job which should build.
- Enter any name for the Pipeline
- Click the OK button.
現在您將看到整個交付管道的良好視圖,並且您將能夠看到整個管道中每個項目的狀態。
另一個著名的插件是構建管道插件。讓我們看看這個。
步驟1−轉到「管理Jenkins→管理插件」。在「可用」選項卡中,搜索「生成管道插件」。單擊安裝而不重新啓動。完成後,重新啓動Jenkins實例。
第2步−要查看正在運行的生成管道,請在Jenkins儀錶板中,單擊「全部」選項卡旁邊選項卡中的+符號。
步驟3−輸入視圖名稱的任意名稱,然後選擇「生成管道視圖」選項。
步驟4−接受默認設置,僅在選定的初始作業中,確保輸入Helloworld項目的名稱。單擊「確定」按鈕。
現在您將看到整個交付管道的良好視圖,並且您將能夠看到整個管道中每個項目的狀態。
Jenkins - Managing Plugins
要獲取Jenkins中所有可用插件的列表,可以訪問連結−https://wiki.Jenkins-ci.org/display/Jenkins/plugins
我們已經看到了許多安裝插件的實例,讓我們來看看關於插件的其他維護任務
Uninstalling Plugins
要卸載插件,請轉到Manage Jenkins→Manage plugins。單擊「已安裝」選項卡。一些插件將具有卸載選項。您可以單擊這些按鈕來卸載插件。確保在卸載後重新啓動Jenkins實例。
Installing another Version of a Plugin
有時可能需要安裝舊版本的插件,在這種情況下,您可以從Jenkins網站上的相關插件頁面下載插件。然後,您可以使用上載選項手動上載插件。
Jenkins - Security
在Jenkins中,您可以在Jenkins實例上設置用戶及其相關權限。默認情況下,您不會希望每個人都能夠在Jenkins中定義作業或其他管理任務。所以詹金斯有能力進行安全配置。
要在Jenkins中配置安全性,請執行以下步驟。
步驟1−單擊Manage Jenkins並選擇「配置全局安全性」選項。
第2步−單擊「啓用安全性」選項。作爲一個例子,假設我們希望Jenkins維護自己的用戶資料庫,所以在安全領域,選擇'Jenkins'own user database'選項。
默認情況下,您希望中心管理員在系統中定義用戶,因此請確保未選中「允許用戶註冊」選項。您可以保留其餘部分,然後單擊「保存」按鈕。
第3步系統將提示您添加第一個用戶。例如,我們正在爲系統設置管理員用戶。
步驟4−現在是在系統中設置用戶的時候了。現在,當您轉到Manage Jenkins並向下滾動時,您將看到一個「Manage Users」選項。單擊此選項。
步驟5−就像您定義了管理員用戶一樣,開始爲系統創建其他用戶。例如,我們正在創建另一個名爲「user」的用戶。
步驟6−現在是設置授權的時候了,基本上是誰可以訪問什麼。轉到管理Jenkins→配置全局安全性。
現在在「授權」部分,單擊「基於矩陣的安全性」
步驟7−如果在「用戶組」列表中未看到該用戶,請輸入用戶名並將其添加到列表中。然後向用戶授予適當的權限。
定義相關授權後,單擊保存按鈕。
你的詹金斯安全系統已經準備好了。
注意−對於Windows AD身份驗證,必須將Active Directory插件添加到Jenkins中。
Jenkins - Backup Plugin
Jenkins有一個備份插件,可以用來備份與Jenkins相關的關鍵配置設置。按照以下步驟進行備份。
第1步−單擊Manage Jenkins並選擇「Manage Plugins」選項。
步驟2−在「可用」選項卡中,搜索「備份插件」。單擊安裝而不重新啓動。完成後,重新啓動Jenkins實例
第3步−現在,當您轉到Manage Jenkins並向下滾動時,您將看到一個選項「Backup Manager」。點擊這個選項。
第4步單擊「設置」。
步驟5−這裡,要定義的主欄位是備份的目錄。確保它位於另一個驅動器上,該驅動器不同於安裝Jenkins實例的驅動器。單擊保存按鈕。
步驟6−單擊「備份管理器」螢幕上的「備份哈德遜配置」啓動備份。
下一個螢幕將顯示備份的狀態
要從備份中恢復,請轉到「備份管理器」螢幕,單擊「還原哈德遜配置」。
將顯示備份列表,單擊相應的列表以單擊「啓動還原」開始還原備份。
Jenkins - Remote Testing
Web測試(如selenium測試)可以通過主從機和selenium套件插件安裝在遠程從機上運行。以下步驟說明如何使用此配置運行遠程測試。
步驟1確保主從配置到位。去找你的詹金斯主人。轉到管理Jenkins→管理節點。
在我們的節點列表中,DXBMEM30標籤是從機。在這個例子中,主機器和從機器都是windows機器。
步驟2−單擊「爲DXBMEM30從機配置」。
步驟3−確保launch方法設置爲「通過Java Web Start啓動從屬代理」
步驟4−現在轉到從屬計算機,從那裡打開一個瀏覽器實例到Jenkins主實例。然後轉到管理Jenkins→管理節點。轉到DXBMEM30並單擊
第5步−單擊DXBMEM30實例。
步驟6−向下滾動,您將看到啓動選項,它是啓動「Java Web Start」的選項
步驟7−您將收到一個安全警告。單擊Acceptance複選框並單擊run。
現在你將看到一個詹金斯奴隸窗口打開,現在連接。
步驟8−將測試配置爲在從機上運行。在這裡,您必須確保所創建的作業僅用於運行selenium測試。
在作業配置中,確保選中「限制此項目的運行位置」選項,並在標籤表達式中輸入從節點的名稱。
步驟9−確保已配置作業的selenium部分。您必須確保Sample.html文件和selenium-server.jar文件也存在於從機上。
完成上述所有步驟並單擊Build之後,此項目將在從屬計算機上按預期運行Selenium測試。