Jenkins實現CI/CD自動構建和發布步驟


使用Jenkins實現CI/CD.這個雖然是非常簡單和基礎的功能,但是我用了很長時間才摸着石頭過了這趟水.

本文使用的技術為:

Jenkins+Git+Maven+Tomcat

簡單來說:

通過Jenkins拉取git倉庫代碼,使用遠程命令將maven編譯測試好的war包發送(發布)到遠程Tomcat服務器上.

具體步驟:

假設Jenkins已安裝,遠程Tomcat也已安裝.(具體安裝步驟老生常談了,不再廢話,不知道的可以自行搜索我的博客,都有記錄的)

我這里是Jenkins/Git/Maven在同一台服務器上,所以下面的內容,需要根據你的具體情況做微調

1.Jenkins服務器安裝好Git和Maven

git安裝步驟: 直接yum install git -y

Maven安裝步驟:https://www.cnblogs.com/biaopei/p/11104130.html

獲取git和maven的命令所在位置

[root@130-node1 SayHi]# which git
/usr/bin/git
[root@130-node1 SayHi]# which mvn
/usr/local/maven/bin/mvn
[root@130-node1 SayHi]# 

2.進入Jenkins配置git和maven

配置git

 

 配置maven

3.Git服務器上新建Maven Web項目

我這里是在Jenkins服務器上


mvn archetype:generate -DgroupId=com.companyname.automobile -DartifactId=SayHi -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false -DarchetypeCatalog=internal   #SayHi是項目名,可自定義,報錯的話可以多執行幾次 cd SayHi/ mvn clean package
git init  #我們需要將這個項目初始化為代碼庫
git add ./*
git commit -m "add first code"

我們來看一下Maven Web項目結構

[root@130-node1 SayHi]# tree
.
|-- pom.xml
|-- src
|   `-- main
|       |-- resources
|       `-- webapp
|           |-- index.jsp
|           `-- WEB-INF
|               `-- web.xml
`-- target
    |-- classes
    |-- maven-archiver
    |   `-- pom.properties
    |-- SayHi
    |   |-- index.jsp
    |   |-- META-INF
    |   `-- WEB-INF
    |       |-- classes
    |       `-- web.xml
    `-- SayHi.war

12 directories, 7 files
[root@130-node1 SayHi]# cat src/main/webapp/index.jsp 
<html>
<body>
<h2>Hello World!</h2>
</body>
</html>
[root@130-node1 SayHi]# 

我們的Web項目頁面內容就是index.jsp.如果CI/CD成功的話,我們可以在遠程Tomcat服務器上訪問到這個頁面

4.在Jenkins新增項目任務

選擇自由項目即可.

在代碼管理這里.我沒有使用憑證,直接通過ssh-copy-id免密登陸git服務器實現的.通過帳號密碼的話,一直會報錯,搞不懂....

 

 

 配置自動發送到遠程tomcat的webapp下

 5.開始構建該項目

進入該項目,點擊左側的Build Now

這是我的第三次構建的日志.可以看到,構建成功的提示

 6.確認是否正常發布到遠程Tomcat服務器

以下是我的Tomcat目錄,可以看到有一個SayHi.war並且自動進行解壓

[root@129-node2 webapps]# pwd
/root/apache-tomcat-9.0.34/webapps
[root@129-node2 webapps]# ls
docs  examples  host-manager  manager  ROOT  SayHi  SayHi.war
[root@129-node2 webapps]# 

嘗試訪問遠程Tomcat服務器服務

搞定!!!

Jenkins上(即Git倉庫)的Maven Web項目成功編譯測試並發布到遠程Tomcat服務器上


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM