首頁>技術>

前言(創作目的)

目前it生產流程中,自動化運維屬於硬性要求,因此Jenkins被越來越重視起來。網上很多Jenkins部署攻略,如下圖:

網路上常見的Jenkins部署攻略

不過不是需要線上環境就是步驟不齊全,在查閱了各種資料之後,按一步步真實的記錄,保證可按此文成功做內網搭建環境。

注:本文用的centos7系統,其他系統只供參考。

Jenkins依賴環境以及安裝包準備jdk,jdk-8u121-linux-x64.tar.gztomcat,apache-tomcat-8.5.61.tar.gzmaven,apache-maven-3.5.0-bin.tar.gzgit,git-2.9.3.tar.gz (離線環境安裝git需要一些額外的rpm安裝包,下文git章節會提供)jenkins.warjdk安裝一般現在的centos系統都會自帶一個openjdk版本,不過自帶的openjdk在後續jenkins配置的時候無法配置jdk安裝路徑。所以需要下載一個Oracle jdk,並且將伺服器預設的jdk從openjdk修改為我們自己下載的oracle jdk;下載jdk壓縮包,並上傳至指定的伺服器路徑下,我的路徑是/home/jdk,執行:tar -zsvf jdk-8u121-linux-x64.tar.gz修改環境變數,並進行相應的配置
#編輯profile檔案vim /etc/profile     #執行後,點選i,進入編輯狀態#在檔案的最後加上EXPORT JAVA_HOME=/JDK安裝路徑EXPORT JRE_HOME=$JAVA_HOME/jreEXPORT PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin#編輯完成後輸入:wq,退出vim編輯頁面#重新整理profile配置檔案source /etc/profile#此時伺服器預設的jdk版本仍然是openjdk,#並不是我們新安裝的oracle jdk,此時我們需要使用update-alternatives命令切換預設jdksudo update-alternatives --install /usr/bin/javac javac /JDK安裝路徑/bin/javac 300sudo update-alternatives --install /usr/bin/java java/JDK安裝路徑/jre/bin/java 300#切換預設jdksudo update-alternatives -- config javasudo update-alternatives -- config javac#檢視是否切換成功java -version#已經切換為oracle jdk

sudo update-alternatives -- config java命令切換示例

tomcat安裝下載tomcat包,並透過xfp上傳伺服器指定目錄,我的目錄為/home/tomcat,官方下載連結:https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.38/bin/apache-tomcat-8.5.38.tar.gz解壓tomcat包(目前安裝已經完成,修改對應的配置在後面的章節) :
  tar -xzvf apache-tomcat-9.0.22.tar.gz
maven安裝下載maven包,並上傳至伺服器指定目錄,我的目錄為/home/tomcat,官網下載地址: http://maven.apache.org/download.cgi解壓maven包: tar -xzvf apache-maven-3.5.0-bin.tar.gz修改maven的環境,執行以下命令:
#編輯profile檔案vim /etc/profile     #執行後,點選i,進入編輯狀態#在檔案的最後加上EXPORT MAVEN_HOME=/安裝路徑EXPORT PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin#編輯完成後輸入:wq,退出vim編輯頁面#重新整理profile配置檔案source /etc/profile#檢查是否安裝成功mvn -v#安裝成功後,需要修改maven的settings.xml檔案,將倉庫映象地址修改為內網私服地址!!!
git安裝下載git-2.9.3.tar.gz,並上傳至伺服器指定路徑,我的路徑為/home/git,官網連結:https://www.kernel.org/pub/software/scm/git/下載依賴的rpm安裝包,網上說的在指定的RPM路徑上下載比較不靠譜,主要是linux核心容易不相容以及包依賴缺失的問題,下載連結:連結:https://pan.baidu.com/s/1f_hJvwNvGGpl4RZkfcvGxw 提取碼:htry下載後將需要安裝rpm放在同一目錄下(方便批次安裝),進入包含rpm包的目錄下,執行:rpm -Uvh --force --nodeps *rpm。截至這一步,git需要的依賴包就安裝好了開始正式安裝git,進入git安裝目錄,執行:./configure --prefix=/usr/local/git
#編譯安裝make prefix=/usr/local/git allmake prefix=/usr/local/git install#修改環境變數echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc#重新整理環境變數source /etc/bashrc#驗證是否安裝成功git --version
Jenkins安裝下載Jenkins的war包,連結:https://pan.baidu.com/s/1_rqCTvn2r8_zxYlv9sTJWQ ,提取碼:lq5qJenkins是同步部署在tomcat下執行的,所以需要將Jenkins的war包放置於tomcat的webapps目錄下修改tomcat的配置,新增tomcat使用者角色、使用者資訊(這一步不能省略,否則Jenkins後續配置會出現報錯)修改tomcat conf目錄下的tomcat-users.xml檔案,我的路徑是/home/tomcat/conf/tomcat-users.xml,在<tomcat-user>標籤內新增以下內容:<role rolename="manager-gui"/><role rolename="manager-script"/><role rolename="manager-jmx"/><role rolename="manager-status"/><user username="tomcat" password="123456" roles="manager-gui,manager-script,manager-jmx,manager-status" />進入tomcat的bin目錄下,執行 ./startup,輸入ip:port/jenkins,就可以進入Jenkins頁面了,不過進入之後需要進行一個初始化,jenkins會自動檢查網路狀態為離線狀態,只要選擇不安裝任何外掛,後續自己手動安裝即可進入jenkins驗證介面進入Jenkins驗證介面,密碼從頁面上的指定路徑獲取即可,即初步完成Jenkins安裝

注:我的Jenkins是使用root使用者安裝的,可以避免不少許可權上的問題,也可以用其他的使用者,不過過程中會出現一些報錯,要先排除許可權問題

Jenkins解鎖介面

Jenkins外掛安裝Jenkins如果要實現自動化構建,需要maven、git等外掛,比較快速的方法就是找一臺可以連線外網的電腦,使用Jenkins下載需要的外掛,然後在Jenkins的工作目錄下複製出來,貼上至內網記得Jenkins工作目錄中,我的Jenkins安裝外掛目錄為/root/.jenkins/plugins,全部複製扔到內網機就行;過程挺簡單,就是安裝的過程中可能會出現網路問題,需要重複多次下載,這裡我把常用到的外掛都分享出來了,方便大家下載。
外掛下載連結:https://pan.baidu.com/s/1JkjnYnFMmPslclSWjlcung    提取碼:4isj 

Jenkins外掛目錄

Jenkins系統配置(核心內容)

1. 進入系統管理-》全域性工具配置,配置jdk、maven地址

Jenkins全域性工具配置

2.配置git,注意不要用linux自帶的git,自己下一個新版本的git。需要注意的是此處的git路徑不是git的安裝路徑,而是whereis git 命令打印出來的路徑,要選用帶有 /bin/git的路徑

git配置

3.進入系統設定,配置openssh:

首先需要為Jenkins伺服器生成ssh金鑰,因為我的Jenkins伺服器和應用部署伺服器屬於同一個,所以只需要直接進入/root/.ssh目錄內,輸入ssh-keygen -t rsa ,然後按三次空格,再輸入 cat id_rsa.pub >> authorized_keys, 就完成金鑰生成了。Path to key中輸入伺服器私鑰地址,passphrase為空,ssh servers中name名字用於標識當前連線名稱,隨便取就行;hostname為目標伺服器ip地址,username為使用者名稱配置後點擊test configuration按鈕,顯示成功就證明配置沒問題啦,點選儲存按鈕。

openssh配置

4. 開始構建專案了:

點選 new item,選擇 -構建一個maven專案,輸入專案名稱後,點選OK;配置general ,discard old builds需要勾上,選擇是備份被替換的舊包,選擇備份最近的10天,數量為10個配置source code management,選擇GIt,repository url輸入git地址,credentials選擇之前配置好的憑證就可以了(此處可能會報git 連線不上或者是命令不存在的問題,需要檢查git的路徑配置是否正確以及git的免密連線是否配置正常)配置build triggers 選擇 build whenever a SNAPSHOT dependency is built配置build environment,選擇add timestamps to the console output配置build,root pom輸入 pom.xml,goals and options 輸入clean install -Dmaven.test.skip =true配置post steps,選擇run only if build succeeds,點選Add post-build step,選擇 Send files or execute commands over SSH:構建成功後的操作,透過SSH傳輸檔案,並執行相應指令碼或者命令

5. 配置SSH Publishers

name:選擇之前Publish over SSH配置的SSH Servers,Source files:選擇原始檔所在地址,就是專案打包後的jar包地址(根據實際情況而定) XX/target/xxx.jar Remove prefix:XX/target/,去除掉Source files後的xxx.jar即可Remote directory:/home/proj-packages/jkproj/ Jar包在應用伺服器上的存放地址(自行建立即可)Exec command:/home/proj-packages/jkproj/startup.sh 應用伺服器對應的執行指令碼(也可以寫Linux命令,注意這個sh指令碼不要放到root目錄下,否則構建的時候會出現許可權問題,另外此sh指令碼需要進行 chmod+x startup.sh 賦權操作)

6. 以上配置完成後就可以再project裡面點即build now,享受後續的一鍵構建時光了

13
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 微服務多環境配置,按環境區分nacos地址