GitLab+Jenkins+Maven+Tomcat?實現(xiàn)自動集成、打包、部署
一、安裝 Tomcat 服務(wù)
1.安裝 JDK JDK 下載地址:傳送門(需要創(chuàng)建 Oracle 賬號)
[root@Tomcat ~]# ls anaconda-ks.cfg jdk-8u181-linux-x64.tar.gz [root@Tomcat ~]# tar zxf jdk-8u181-linux-x64.tar.gz [root@Tomcat ~]# ls anaconda-ks.cfg jdk-8u181-linux-x64.tar.gz jdk1.8.0_181 [root@Tomcat ~]# mv jdk1.8.0_181/ /usr/local/java [root@Tomcat ~]# cat <<END >> /etc/profile export JAVA_HOME=/usr/local/java export PATH=$PATH:"$JAVA_HOME/bin" END [root@Tomcat ~]# source /etc/profile [root@Tomcat ~]# java -version
2.安裝 Tomcat
[root@Tomcat ~]# wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.32/bin/apache-tomcat-8.5.32.tar.gz [root@Tomcat ~]# ls anaconda-ks.cfg apache-tomcat-8.5.32.tar.gz jdk-8u181-linux-x64.tar.gz [root@Tomcat ~]# tar zxf apache-tomcat-8.5.32.tar.gz [root@Tomcat ~]# ls anaconda-ks.cfg apache-tomcat-8.5.32.tar.gz apache-tomcat-8.5.32 jdk-8u181-linux-x64.tar.gz [root@Tomcat ~]# mv apache-tomcat-8.5.32 /usr/local/tomcat
在 Tomcat 服務(wù)器上配置(優(yōu)化執(zhí)行路徑)
[root@Tomcat ~]# sed -i '/#!\/bin\/sh/aJAVA_HOME="/usr/local/java"' /usr/local/tomcat/bin/catalina.sh [root@Tomcat ~]# sed -i '/#!\/bin\/sh/aJRE_HOME="/usr/local/java/jre"' /usr/local/tomcat/bin/catalina.sh
啟動 Tomcat
[root@Tomcat ~]# /usr/local/tomcat/bin/startup.sh # 啟動 Tomcat 服務(wù) [root@Tomcat ~]# netstat -nlpt | grep 8080 # 查看端口是否開啟
二、在 Jenkins 上安裝 Maven
我們這里主要就是使用 Maven 來將開發(fā)寫的 Java 代碼,打包成 war
包后,來使用 Jenkins 將打包好的 war
包,部署到 Tomcat 上,來完成簡單的版本迭代;像一些在云上的項目,基本上都在用云效(云版 Jenkins)
GitLab 和 Jenkins 安裝教程:傳送門
1.安裝 Maven
我們可以將 Maven 安裝在 Jenkins 的服務(wù)器上:
[root@Jenkins ~]# wget https://archive.apache.org/dist/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz [root@Jenkins ~]# tar xf apache-maven-3.5.4-bin.tar.gz [root@Jenkins ~]# mv apache-maven-3.5.4 /usr/local/maven [root@Jenkins ~]# ln -s /usr/local/maven/bin/mvn /usr/bin/
1)配置 Maven 的環(huán)境變量
[root@Jenkins ~]# echo "export MAVEN_HOME=/usr/local/maven" >> /etc/profile [root@Jenkins ~]# echo "export PATH=$PATH:$MAVEN_HOME/bin" >> /etc/profile [root@Jenkins ~]# source /etc/profile
2)在 Maven 上配置阿里云加速
[root@Jenkins ~]# vim /usr/local/maven/conf/settings.xml 157 </mirror> 158 --> 159 <mirror> 160 <id>aliyun maven</id> 161 <name>aliyun</name> 162 <url>http://maven.aliyun.com/nexus/content/groups/public/</url> 163 <mirrorOf>central</mirrorOf> 164 </mirror> 165 </mirrors>
2.創(chuàng)建 Jenkins 任務(wù)
1)創(chuàng)建 Jenkins 任務(wù)前,需要安裝以下插件:
Git plugin Maven Release Plug-in
2)進(jìn)入配置階段
3)開始新建一個 Jenkins 任務(wù)
General
源碼管理
Build
4)編寫腳本
[root@Jenkins ~]# vim tomcat_update.sh #!/bin/bash scp /var/lib/jenkins/workspace/tomcat/gameoflife-web/target/*.war root@192.168.1.3:/usr/local/tomcat/webapps/ ssh root@192.168.1.3 "/usr/local/tomcat/bin/shutdown.sh" sleep 3 ssh root@192.168.1.3 "/usr/local/tomcat/bin/startup.sh"
5)將代碼上傳到 GitLab 遠(yuǎn)程倉庫中
[root@Jenkins ~]# git clone git@192.168.1.1:ZhangSan/test.git [root@Jenkins ~]# git clone git@github.com:wakaleo/game-of-life.git # 克隆 GitHub 上的代碼 [root@Jenkins ~]# cd test/ [root@Jenkins test]# git rm -rf * # 刪除原有倉庫上的代碼 (生產(chǎn)環(huán)境需慎重考慮) [root@Jenkins test]# mv ../game-of-life/* . # 將克隆過來的代碼移動到當(dāng)前目錄 [root@Jenkins test]# git add . # 上傳到暫存區(qū) [root@Jenkins test]# git commit -m 'This is Tomcat of Test' # 將暫存區(qū)代碼上傳到本地倉庫 [root@Jenkins test]# git push origin master # 將本地倉庫上傳到遠(yuǎn)程倉庫
當(dāng)克隆 GitHub 上代碼出現(xiàn):Permission denied (publickey).
時,我們只將公鑰上傳到 GitHub 上即可。
6)在 Jenkins 構(gòu)建 Tomcat 項目
問題(1):如果在構(gòu)建時出現(xiàn)如下錯誤,原因是因為沒有配置密鑰對。
Permission denied, please try again. Permission denied, please try again. Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
配置 SSH 密鑰對
[root@Jenkins ~]# ssh-keygen -t rsa # 創(chuàng)建密鑰對 (三連回車即可) [root@Jenkins ~]# ssh-copy-id root@192.168.1.3
問題(2):如果在構(gòu)建時出現(xiàn)如下錯誤,原因是因為沒有優(yōu)化執(zhí)行路徑。
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program
在 Tomcat 服務(wù)器上配置
[root@Tomcat ~]# sed -i '/#!\/bin\/sh/aJAVA_HOME="/usr/local/java"' /usr/local/tomcat/bin/catalina.sh [root@Tomcat ~]# sed -i '/#!\/bin\/sh/aJRE_HOME="/usr/local/java/jre"' /usr/local/tomcat/bin/catalina.sh
3.驗證
訪問: 192.168.1.3:8080/gameoflife/
到此這篇關(guān)于GitLab+Jenkins+Maven+Tomcat 實現(xiàn)自動集成、打包、部署的文章就介紹到這了,更多相關(guān)GitLab Jenkins Maven Tomcat自動集成打包部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- jenkins+maven+svn自動部署和發(fā)布的詳細(xì)圖文教程
- jenkins+Maven從SVN上構(gòu)建項目的方法
- 使用Jenkins來構(gòu)建GIT+Maven項目的方法步驟
- Jenkins+Maven+SVN自動化部署java項目
- 基于Jenkins+Maven+Gitea+Nexus搭建CICD環(huán)境的方式
- Jenkins配置maven項目之打包、部署、發(fā)布的全過程
- Jenkins+Git+Maven自動化部署配置詳解
- 使用jenkins配置maven和JDK
- Docker+Jenkins+Gitee自動化部署maven項目的實現(xiàn)
- Jenkins Maven pom jar打包未拉取最新包解決辦法
相關(guān)文章
使用Spring初始化加載InitializingBean()方法
這篇文章主要介紹了使用Spring初始化加載InitializingBean()方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01Mac配置 maven以及環(huán)境變量設(shè)置方式
這篇文章主要介紹了Mac配置 maven以及環(huán)境變量設(shè)置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08springboot植入pagerHelper的超詳細(xì)教程
這篇文章主要介紹了springboot植入pagerHelper的超詳細(xì)教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01