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

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

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

零、配置Tomcat

默認情況下Tomcat是沒有配置用戶角色權限的

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

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

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憑證

在這里插入圖片描述

一、自由風格項目遠程部署war包

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

在這里插入圖片描述

2.增加構建步驟

編譯打包

在這里插入圖片描述

3.增加構建后操作

遠程部署

在這里插入圖片描述

4.立即構建

在這里插入圖片描述

5.查看控制臺輸出

在這里插入圖片描述

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

項目選擇為Pipeline流水線項目,

  1. 概念

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

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

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

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

Pipeline 腳本是由 Groovy 語言實現(xiàn)的,但是我們沒必要單獨去學習 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.構建編譯

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('編譯構建') {
   steps {
    sh label: '', script: 'mvn clean package -Dmaven.test.skip=true'
   }
  }
   stage('構建完成') {
   steps {
    echo '構建完成'
   }
  }
  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: '構建通知:${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('編譯構建') {
   steps {
    sh label: '', script: 'mvn clean package -Dmaven.test.skip=true'
   }
  }
   stage('構建完成') {
   steps {
    echo '構建完成'
   }
  }
  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: '構建通知:${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)容復制到該文件中

在這里插入圖片描述

2)在項目中引用該文件

在這里插入圖片描述

點擊構建 查看控制臺輸出

在這里插入圖片描述

二、部署jar包

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

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

2. 安裝Publish Over SSH插件

Publish Over SSH插件

在這里插入圖片描述

然后配置ssh

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

3.增加構建步驟 編譯打包

在這里插入圖片描述

4.增加構建后操作步驟

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

在這里插入圖片描述

Source files 項目構建后的目錄

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ù)重啟后是否有當前應用判斷啟動是否成功
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.立即構建

點擊立即構建,查看控制臺輸出

在這里插入圖片描述

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

在這里插入圖片描述

在這里插入圖片描述

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

相關文章

  • Eclipse插件安裝的八種方式總結

    Eclipse插件安裝的八種方式總結

    這篇文章主要給大家總結介紹了關于Eclipse插件安裝的八種方式,現(xiàn)在開發(fā)java項目普遍使用idea了,但使用eclipse的也不少,如果要用的順手點,還是需要一些優(yōu)化和相關插件支持的,需要的朋友可以參考下
    2023-10-10
  • git checkout 命令使用詳解

    git checkout 命令使用詳解

    這篇文章主要介紹了git checkout 命令使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • JetBrains 學生認證教程(Pycharm,IDEA… 等學生認證教程)

    JetBrains 學生認證教程(Pycharm,IDEA… 等學生認證教程)

    這篇文章主要介紹了JetBrains 學生認證教程(Pycharm,IDEA… 等學生認證教程)文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • Hadoop文件的存儲格式實例詳解

    Hadoop文件的存儲格式實例詳解

    這篇文章主要介紹了Hadoop文件的存儲格式,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-06-06
  • 一文講清base64編碼原理

    一文講清base64編碼原理

    本文主要介紹了一文講清base64編碼原理,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • 基于Token的身份驗證之JWT基礎教程

    基于Token的身份驗證之JWT基礎教程

    JWT(json web token)是為了在網(wǎng)絡應用環(huán)境間傳遞聲明而執(zhí)行的一種基于JSON的開放標準。下面這篇文章主要給大家介紹了關于基于Token的身份驗證之JWT的基礎相關資料,文中通過示例代碼的非常詳細,需要的朋友可以參考下
    2018-09-09
  • PHP、JAVA、.NET這三種技術的區(qū)別分析

    PHP、JAVA、.NET這三種技術的區(qū)別分析

    這篇文章主要介紹了PHP、JAVA、.NET這三種技術的區(qū)別分析,本文從多個方面介紹、對比了PHP、JAVA、.NET這三種技術,需要的朋友可以參考下
    2014-08-08
  • VsCode運行html界面的實戰(zhàn)步驟

    VsCode運行html界面的實戰(zhàn)步驟

    在VSCode中默認編寫的HTML頁面是不能運行的,下面這篇文章主要給大家介紹了關于VsCode運行html界面的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2022-10-10
  • 人工智能(AI)首選Python的原因解析

    人工智能(AI)首選Python的原因解析

    Python雖然是腳本語言,但是因為容易學,迅速成為科學家的工具。Python 已經(jīng)是數(shù)據(jù)分析和 AI的第一語言,網(wǎng)絡攻防的第一黑客語言,正在成為編程入門教學的第一語言,云計算系統(tǒng)管理第一語言
    2019-06-06
  • 基于chatgpt的微信自動回復功能實現(xiàn)

    基于chatgpt的微信自動回復功能實現(xiàn)

    這篇文章主要介紹了基于chatgpt的微信自動回復功能實現(xiàn),微信自動回復基于聊天api的實現(xiàn)代碼,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2023-02-02

最新評論