最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Jenkins部署war包和部署jar包的詳細步驟

 更新時間:2020年10月28日 15:37:01   作者:Liu_Shihao  
這篇文章主要介紹了Jenkins部署war包和部署jar包的詳細步驟,本恩分步驟通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

零、配置Tomcat

默認(rèn)情況下Tomcat是沒有配置用戶角色權(quán)限的

在這里插入圖片描述
在這里插入圖片描述

但是,后續(xù)Jenkins部署項目到Tomcat服務(wù)器,需要用到Tomcat的用戶,所以修改tomcat以下配置, 添加用戶及權(quán)限

vi /opt/tomcat/conf/tomcat-users.xml
# 內(nèi)容如下:
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script,tomcat,admin-gui,admin-script"/> 

用戶和密碼都是:tomcat 注意:為了能夠剛才配置的用戶登錄到Tomcat,還需要修改以下配置

在這里插入圖片描述

vi /opt/tomcat/webapps/manager/META-INF/context.xml
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
   allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
# 把上面這行注釋掉即可!

在這里插入圖片描述

重啟Tomcat,訪問測試

在這里插入圖片描述

輸入 tomcat tomcat

在這里插入圖片描述

配置Tomcat憑證

在這里插入圖片描述

一、自由風(fēng)格項目遠程部署war包

1.創(chuàng)建自由風(fēng)格項目

在這里插入圖片描述

2.增加構(gòu)建步驟

編譯打包

在這里插入圖片描述

3.增加構(gòu)建后操作

遠程部署

在這里插入圖片描述

4.立即構(gòu)建

在這里插入圖片描述

5.查看控制臺輸出

在這里插入圖片描述

二、創(chuàng)建流水線項目遠程部署war包

項目選擇為Pipeline流水線項目

  1. 概念

Pipeline,簡單來說,就是一套運行在 Jenkins 上的工作流框架,將原來獨立運行于單個或者多個節(jié)點
的任務(wù)連接起來,實現(xiàn)單個任務(wù)難以完成的復(fù)雜流程編排和可視化的工作。

  1. 使用Pipeline有以下好處(來自翻譯自官方文檔):

代碼:Pipeline以代碼的形式實現(xiàn),通常被檢入源代碼控制,使團隊能夠編輯,審查和迭代其傳送流 程。 持久:無論是計劃內(nèi)的還是計劃外的服務(wù)器重啟,Pipeline都是可恢復(fù)的。 可停止:Pipeline可接 收交互式輸入,以確定是否繼續(xù)執(zhí)行Pipeline。 多功能:Pipeline支持現(xiàn)實世界中復(fù)雜的持續(xù)交付要 求。它支持fork/join、循環(huán)執(zhí)行,并行執(zhí)行任務(wù)的功能。 可擴展:Pipeline插件支持其DSL的自定義擴 展 ,以及與其他插件集成的多個選項。

  1. 如何創(chuàng)建 Jenkins Pipeline呢?

Pipeline 腳本是由 Groovy 語言實現(xiàn)的,但是我們沒必要單獨去學(xué)習(xí) Groovy
Pipeline 支持兩種語法:Declarative(聲明式)和 Scripted Pipeline(腳本式)語法
Pipeline 也有兩種創(chuàng)建方法:可以直接在 Jenkins 的 Web UI 界面中輸入腳本;也可以通過創(chuàng)建一 個 Jenkinsfile 腳本文件放入項目源碼庫中(一般我們都推薦在 Jenkins 中直接從源代碼控制(SCM) 中直接載入 Jenkinsfile Pipeline 這種方法)。

安裝Pipeline插件 Manage Jenkins->Manage Plugins->可選插件
安裝插件后,創(chuàng)建項目的時候多了“流水線”類型

在這里插入圖片描述

1.拉取代碼

配置git倉庫,點擊流水線語法

在這里插入圖片描述

在這里插入圖片描述

點擊生成流水線腳本

在這里插入圖片描述

2.構(gòu)建編譯

pipeline {
 agent any

 stages {
  stage('拉取代碼') {
   steps {
   checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '614e4281-db76-4388-befc-c50588f5e751', url: 'https://gitee.com/L1692312138/ssm_web_war_jenkins.git']]])
   }
  }
  stage('編譯構(gòu)建') {
   steps {
    sh label: '', script: 'mvn clean package -Dmaven.test.skip=true'
   }
  }
   stage('構(gòu)建完成') {
   steps {
    echo '構(gòu)建完成'
   }
  }
  stage('遠程部署') {
   steps {
   deploy adapters: [tomcat8(credentialsId: 'a2672517-c02b-4f62-ab3c-e6f70d08b98e', path: '', url: 'http://wangyitong.club:8080/')], contextPath: null, war: 'target/*.war'
   }
  }
 }
 post {
   always {
    emailext(
    subject: '構(gòu)建通知:${PROJECT_NAME} - Build # ${BUILD_NUMBER} - ${BUILD_STATUS}!',
    body: '${FILE,path="email.html"}',
    to: '1692312138@qq.com'
    )
   }
 }
}

在這里插入圖片描述

3.遠程部署

在這里插入圖片描述

點擊生成流水線腳本

在這里插入圖片描述

 stage('遠程部署') {
   steps {
   deploy adapters: [tomcat8(credentialsId: 'a2672517-c02b-4f62-ab3c-e6f70d08b98e', path: '', url: 'http://wangyitong.club:8080/')], contextPath: null, war: 'target/*.war'
   }
  }

完整腳本:

pipeline {
 agent any

 stages {
  stage('拉取代碼') {
   steps {
   checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '614e4281-db76-4388-befc-c50588f5e751', url: 'https://gitee.com/L1692312138/ssm_web_war_jenkins.git']]])
   }
  }
  stage('編譯構(gòu)建') {
   steps {
    sh label: '', script: 'mvn clean package -Dmaven.test.skip=true'
   }
  }
   stage('構(gòu)建完成') {
   steps {
    echo '構(gòu)建完成'
   }
  }
  stage('遠程部署') {
   steps {
   deploy adapters: [tomcat8(credentialsId: 'a2672517-c02b-4f62-ab3c-e6f70d08b98e', path: '', url: 'http://wangyitong.club:8080/')], contextPath: null, war: 'target/*.war'
   }
  }
 }
 post {
   always {
    emailext(
    subject: '構(gòu)建通知:${PROJECT_NAME} - Build # ${BUILD_NUMBER} - ${BUILD_STATUS}!',
    body: '${FILE,path="email.html"}',
    to: '1692312138@qq.com'
    )
   }
 }
}

安裝Pipeline Script from SCM插件
剛才我們都是直接在Jenkins的UI界面編寫Pipeline代碼,這樣不方便腳本維護,建議把Pipeline腳本放
在項目中(一起進行版本控制) 1)在項目根目錄建立Jenkinsfile文件,把內(nèi)容復(fù)制到該文件中

在這里插入圖片描述

2)在項目中引用該文件

在這里插入圖片描述

點擊構(gòu)建 查看控制臺輸出

在這里插入圖片描述

二、部署jar包

1.創(chuàng)建自由風(fēng)格項目

流程 :
增加構(gòu)建后操作步驟,然后配置ssh信息,編寫腳本,然后發(fā)包后執(zhí)行腳本,停止進程,在啟動進程。

2. 安裝Publish Over SSH插件

Publish Over SSH插件

在這里插入圖片描述

然后配置ssh

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

3.增加構(gòu)建步驟 編譯打包

在這里插入圖片描述

4.增加構(gòu)建后操作步驟

配置工程 --》增加構(gòu)建后操作步驟 選擇Sned build artifacts over SSH

在這里插入圖片描述

Source files 項目構(gòu)建后的目錄

Remove prefix 去前綴

Remote directoty 發(fā)布的目錄

Exec command 發(fā)布完執(zhí)行的命令

在這里插入圖片描述

5.編寫shell腳本

先通過項目名查找正在運行的項目的端口號,如果存在,則殺死該進程,
然后再次重啟項目。

shell腳本:

#!/bin/env bash

#PID=`ps -ef |grep 項目名稱 |grep -v grep | awk '{print $2}'`
PID=`ps -ef |grep 'wxthepublic-1.0-SNAPSHOT.jar' |grep -v grep | awk '{print $2}'`
if [ ! "$PID" ]
then # 這里判斷TOMCAT進程是否存在
 echo $PID"進程不存在"
else
 echo "進程存在 殺死進程PID$PID"
 kill -9 $PID
fi
nohup java -jar 'wxthepublic-1.0-SNAPSHOT.jar' >/dev/null 2>log &
#根據(jù)重啟后是否有當(dāng)前應(yīng)用判斷啟動是否成功
pid=$(ps -ef | grep java| grep 'wxthepublic-1.0-SNAPSHOT.jar'|awk -F '[ ]+' '{print $2}')
echo $pid
if [ -z $pid ]
then
 echo "啟動失敗"
 exit 1
else
 echo 'wxthepublic-1.0-SNAPSHOT.jar' : $pid "啟動成功"
fi

6.立即構(gòu)建

點擊立即構(gòu)建,查看控制臺輸出

在這里插入圖片描述

目錄下已經(jīng)出現(xiàn)打過的jar包。

在這里插入圖片描述

在這里插入圖片描述

到此這篇關(guān)于Jenkins部署war包和部署jar包的詳細步驟的文章就介紹到這了,更多相關(guān)Jenkins部署war包和jar包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vscode常用快捷鍵列表、插件安裝、console.log詳解

    Vscode常用快捷鍵列表、插件安裝、console.log詳解

    對于開發(fā)者來說,在開發(fā)過程必須要掌握Vscode常用快捷鍵列表、插件安裝、console.log的相關(guān)知識,今天通過本文實例圖文相結(jié)合給大家介紹的非常詳細,需要的朋友參考下吧
    2021-05-05
  • 一文教你如何本地部署DeepSeek

    一文教你如何本地部署DeepSeek

    這篇文章主要為大家詳細了如何實現(xiàn)本地部署DeepSeek,文中通過示例代碼和圖片進行了詳細的介紹,具有一定的借鑒價值,希望對大家有所幫助
    2025-02-02
  • 鴻蒙中@State的原理使用詳解(HarmonyOS 5)

    鴻蒙中@State的原理使用詳解(HarmonyOS 5)

    @State是 HarmonyOS ArkTS 框架中用于管理組件狀態(tài)的核心裝飾器,其核心作用是實現(xiàn)數(shù)據(jù)驅(qū)動 UI 的響應(yīng)式編程模式,本文給大家介紹鴻蒙中@State的原理詳解,感興趣的朋友一起看看吧
    2025-04-04
  • 科學(xué)知識:同步、異步、阻塞和非阻塞區(qū)別

    科學(xué)知識:同步、異步、阻塞和非阻塞區(qū)別

    這篇文章主要介紹了科學(xué)知識:同步、異步、阻塞和非阻塞區(qū)別,本文分別講解了這些概念,需要的朋友可以參考下
    2015-05-05
  • 詳解git submodule update獲取不到最新提交的代碼

    詳解git submodule update獲取不到最新提交的代碼

    這篇文章主要介紹了詳解git submodule update獲取不到最新提交的代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • chatgpt國內(nèi)鏡像?pycharm?idea插件使用詳解

    chatgpt國內(nèi)鏡像?pycharm?idea插件使用詳解

    這篇文章主要介紹了chatgpt國內(nèi)鏡像?pycharm?idea插件使用詳解,本文通過圖文實例代碼相結(jié)合給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-02-02
  • 關(guān)于mapboxgl加載tiff的問題

    關(guān)于mapboxgl加載tiff的問題

    這篇文章主要介紹了mapboxgl加載tiff,先使用geotiff.js解析tiff數(shù)據(jù),再配合使用canvas繪制圖片導(dǎo)出base64格式數(shù)據(jù),然后就可以使用添加到mapboxgl圖層了,本文結(jié)合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • Prometheus的安裝和配置教程詳解

    Prometheus的安裝和配置教程詳解

    這篇文章主要介紹了Prometheus的安裝和配置,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • VSCode遠程連接其他主機的WSL2的問題

    VSCode遠程連接其他主機的WSL2的問題

    這篇文章主要介紹了VSCode遠程連接其他主機的WSL2的問題,在 Windows 10 上開啟 SSH Server 服務(wù),設(shè)置 SSH 連接使用的默認(rèn) Shell,本文給大家介紹的非常詳細,需要的朋友參考下吧
    2021-07-07
  • ChatGpt無法訪問或錯誤碼1020的幾種解決方案

    ChatGpt無法訪問或錯誤碼1020的幾種解決方案

    ChatGPT是一種語言模型,它被訓(xùn)練來對對話進行建模,下面這篇文章主要給大家介紹了關(guān)于ChatGpt無法訪問或錯誤碼1020的幾種解決方案,文中介紹的非常詳細,需要的朋友可以參考下
    2023-02-02

最新評論

资阳市| 灵丘县| 南漳县| 莱芜市| 萨迦县| 兴文县| 时尚| 清徐县| 张家界市| 江都市| 东丰县| 中西区| 泽普县| 油尖旺区| 永济市| 友谊县| 嵩明县| 远安县| 固阳县| 密云县| 沁源县| 剑河县| 文登市| 应用必备| 汪清县| 梧州市| 乌拉特后旗| 郑州市| 溧阳市| 莱西市| 密云县| 永和县| 巴林右旗| 宿迁市| 湖北省| 马边| 通许县| 家居| 海盐县| 松溪县| 宁都县|