欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

GitLab+Jenkins+Maven+Tomcat?實現(xiàn)自動集成、打包、部署

 更新時間:2022年01月07日 10:42:11   作者:愿許浪盡天涯  
本文主要介紹了GitLab?+?Jenkins?+?Maven?+?Tomcat?實現(xiàn)自動集成、打包、部署,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

一、安裝 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)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • springmvc重定向?qū)崿F(xiàn)方法解析

    springmvc重定向?qū)崿F(xiàn)方法解析

    這篇文章主要介紹了springmvc重定向?qū)崿F(xiàn)方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01
  • java去除空格、標(biāo)點符號的方法實例

    java去除空格、標(biāo)點符號的方法實例

    這篇文章主要給大家介紹了關(guān)于java去除空格、標(biāo)點符號的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • spring boot整合kafka過程解析

    spring boot整合kafka過程解析

    這篇文章主要介紹了spring boot整合kafka過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • 使用Spring初始化加載InitializingBean()方法

    使用Spring初始化加載InitializingBean()方法

    這篇文章主要介紹了使用Spring初始化加載InitializingBean()方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Mac配置 maven以及環(huán)境變量設(shè)置方式

    Mac配置 maven以及環(huán)境變量設(shè)置方式

    這篇文章主要介紹了Mac配置 maven以及環(huán)境變量設(shè)置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • springboot植入pagerHelper的超詳細(xì)教程

    springboot植入pagerHelper的超詳細(xì)教程

    這篇文章主要介紹了springboot植入pagerHelper的超詳細(xì)教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Java 數(shù)組迭代你會用嗎

    Java 數(shù)組迭代你會用嗎

    Java 數(shù)組是我們學(xué)習(xí)或工作中常用到的數(shù)據(jù)結(jié)構(gòu),我們會經(jīng)常寫數(shù)組迭代的代碼,本文介紹三種數(shù)組迭代的方式,感興趣的可以了解一下
    2021-09-09
  • Java實現(xiàn)寵物商店管理系統(tǒng)

    Java實現(xiàn)寵物商店管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Java實現(xiàn)寵物商店管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • Java內(nèi)部類深入解析

    Java內(nèi)部類深入解析

    這篇文章主要介紹了Java內(nèi)部類深入解析,在java中,我們被允許在編寫一個類(外部類OuterClass)時,在其內(nèi)部再嵌套一個類(嵌套類NestedClass),java將嵌套類分為兩種,非靜態(tài)內(nèi)部類(簡稱內(nèi)部類)和 靜態(tài)內(nèi)部,需要的朋友可以參考下
    2023-12-12
  • Java如何自定義線程池中隊列

    Java如何自定義線程池中隊列

    這篇文章主要介紹了Java如何自定義線程池中隊列,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-07-07

最新評論