1. 程式人生 > >jenkins持續整合安裝、配置、部署

jenkins持續整合安裝、配置、部署

jenkins介紹:

  • 它是一個自動化的週期性的整合測試過程,從檢出程式碼、編譯構建、執行測試、結果記錄、測試統計等都是自動完成的,無需人工干預,有利於減少重複過程以節省時間、費用和工作量;

  • 它需要有專門的整合伺服器來執行整合構建;

  • 它需要有程式碼託管工具支援,比如SVN;

  • Jenkins的主要目標是監控軟體開發流程,快速顯示問題;

  • jenkins持續整合中的任何一個環節都是自動完成的,無需太多的人工干預,所以它有利於減少重複過程以節省時間、費用和工作量。

jenkins安裝、配置、部署

1.準備安裝JDK1.8

2.準備安裝tomcat,並設定相應的環境變數,將下載好的jenkins.war放到tomcat目錄下webapps下

3.安裝apache maven

  (1)解壓maven的tar包

tar - xvf apache-maven-3.5.4-bin.tar.gz

(2)設定環境變數:vi /etc/profile,在最後新增:

export MAVEN_HOME=/usr/local/maven/apache-maven-3.5.4  #maven的安裝目錄
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin

  (3)source /etc/profile 使得配置立即生效

4.關閉防火牆

#centos7

systemctl stop firewalld.service

5.啟動tomcat,訪問http://192.168.220.100:8080/,進行jenkins引導初始化: 第一次啟動Jenkins時,出於安全考慮,Jenkins會自動生成一個隨機的按照口令。注意控制檯輸出的口令,複製下來,然後在瀏覽器輸入密碼:

進入使用者自定義外掛介面,建議選擇安裝官方推薦外掛,因為安裝後自己也得安裝:

 

外掛一次可能不會完全安裝成功,可以點選Retry再次安裝。直到全部安裝成功

等待一段時間之後,外掛安裝完成,配置使用者名稱密碼:(我配置的使用者名稱和密碼為:hezh,888888)

6.配置全域性變數:

系統管理 > 全域性工具配置:

JDK:

MAVEN:

7.配置 SSH免登陸

ssh的配置可使用金鑰,也可以使用密碼,這裡我們使用金鑰來配置,在配置之前先配置好jenkins伺服器和應用伺服器的金鑰認證 jenkins伺服器上生成金鑰對,使用ssh-keygen -t rsa命令

輸入下面命令 一直回車,一個矩形圖形出現就說明成功,在~/.ssh/下會有私鑰id_rsa和公鑰id_rsa.pub

ssh-keygen -t rsa

ssh-copy-id -i id_rsa.pub 192.168.220.101

chmod 644 authorized_keys

應用伺服器上重啟ssh服務,service sshd restart現在jenkins伺服器可免密碼直接登陸應用伺服器

8.Push SSH(專案採用外掛進行war包部署和服務啟動,因此可不進行此項配置

系統管理 > 系統設定

選擇 Publish over SSH

Passphrase 不用設定 Path to key 寫上生成的ssh路徑:/root/.ssh/id_rsa

下面的SSH Servers是重點

Name 隨意起名代表這個服務,待會要根據它來選擇 Hostname 配置應用伺服器的地址 Username 配置linux登陸使用者名稱 Remote Directory 不填

9.部署專案

每晚11:00整定時構建:

此處在構建時出現問題:顯示找不到pom.xml檔案,先將root pom改為pom.xml,執行一次構建,然後再加上CAD_Parent/,再執行構建,就會成功。

此處注意:若該專案模組不是一個單獨的專案,pom.xml路徑應該加上父專案路徑,進行所有依賴的構建

-P89:選擇pom,xml中配置的89環境,使用89伺服器資料庫

注意:jenkins的工作空間為:cd /root/.jenkins/workspace/192.168.220.100_SCM/192.168.220.100_SCM為job名稱

          此處deploy war to a container中war/ear files路徑應該填填:SCM_Server/target/*.war,如果填**/*.war,會出現一些莫名的錯誤,如:tomcat啟動不起來                   (oracle.jdbc.driver.OracleTimeoutPollingThread.run

          containers 中Credentials使用者為:tomcat根目錄下conf->tomcat-users.xml中新增的manager-script使用者(tomcat版本為8):

          

        tomcat url需要填寫到埠號,而不僅僅是ip :  

此時有可能會出現以下錯誤:

解決方案:

/webapps/manager/META_INF/context.xml檔案,將檔案中對訪問的來源受限設定註釋

注意事項:

1.在進行專案構建之前應該保持tomcat處於執行狀態。

2.所有tomcat配置修改後,應該進行重啟操作

3.如果遇到“Connection refused”的異常請檢查遠端機的容器是否啟動、埠是否設定正常,不同的容器配置方式不一樣,請參考相應容器的配置文件

4.部署期間遇到了tomcat啟動失敗的問題,日誌如下。未能找到解決方案,自己刪除了maven project然後重啟作業系統,重建對應的maven project,啟動居然成功,費解