天天看點

Jenkins相關設定

1,全局工具設定

包括java,git,maven,等工具的路徑

JAVA

Jenkins相關設定

Git

Jenkins相關設定

MAVEN

Jenkins相關設定

2,系統設定

SSH remote hosts設定

jenkins伺服器在打包之後,需要遠端登入應用伺服器,将打好的war包拷貝到應用伺服器相應的tomcat目錄下進行運作。

這個時候需在應用伺服器上(測試環境伺服器)建立~/.ssh檔案夾和~/.ssh/authorized_keys檔案,并将jenkins伺服器的公鑰id_rsa.pub中的内容複制到authorized_keys檔案,然後在應用伺服器上重新開機ssh服務:

service sshd restart

這樣即可實作jenkins伺服器免密碼直接登陸應用伺服器。

參考:https://www.cnblogs.com/YatHo/p/6739814.html

選擇Jenkins中已經添加好的root憑據(Credentials),測試是否能連接配接成功

Jenkins相關設定
Jenkins相關設定

git伺服器設定

Jenkins打包的時候需要先通路gitlab去clone代碼,這個時候需要Gitlab能識别的憑證,這裡使用的是我的git賬号的API token,同樣需要先建好相應的Credentials,然後這裡設定時選擇GitLab API token,測試連接配接是否成功。

Jenkins相關設定
Jenkins相關設定

Publish over ssh

這裡填寫部署用到的兩個伺服器資訊,一個是jenkins伺服器公鑰檔案存放的路徑:root/.ssh/id_isa,一個是應用伺服器的ip和登入的username。

Jenkins伺服器的公鑰、私鑰對如何生成?使用如下指令:

ssh-keygen -t rsa

一直回車就好了

然後提示公鑰儲存在pub字尾的檔案中,私鑰儲存在._ssh字尾的檔案中,将id_rsa.pub檔案的内容拷貝出來,粘貼到應用伺服器的authorized_keys檔案中:

Jenkins相關設定

Jenkins伺服器的公鑰檔案:id_isa.pub

Jenkins相關設定

應用伺服器的:authorized_keys

Jenkins相關設定

設定好了之後測試一下聯通性:

Jenkins相關設定

3,Remote Directory設定

Remote Directory是設定jenkins打出來的war包拷貝到測試伺服器的目錄。

Jenkins中有兩個地方有Remote Directory設定,一個是系統設定->publish over ssh中的,一個是建的job->建構後的操作中的

Jenkins相關設定
Jenkins相關設定

一開始沒有不太了解設定的規則,導緻一直打的包放的位置找不到或者不對,無法拷貝成功,大概的規則是這樣:

若是系統設定和job設定都設定了remote directory,會進行自動拼接,比如系統設定的remote directory是:/usr/cheguo/apache-tomcat-8.5.29/webapps,job設定的remote directory設定的是:/Users/fanxx,那麼打包後會自動在webapps目錄下建立檔案夾/Users/fanxx,然後把包拷過去:

最終包就在:/usr/cheguo/apache-tomcat-8.5.29/webapps/Users/fanxx

是以一般在全局設定中直接設定“/”,具體的目錄在job中 指定即可。

4,Credentials管理

添加憑據:

Jenkins相關設定
Jenkins相關設定

憑據(即credentials)類型有秘鑰方式(.ssh)、API token,使用者名密碼(包括伺服器使用者名密碼,git賬号密碼),這裡添加的各類憑證,都是用于Jenkins建構過程中需要通路伺服器或者git的,添加之後會顯示在相應的下拉清單中,若賬号或者秘鑰等被修改了,則需要相應更新Jenkins的憑證。

Jenkins相關設定