国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【jenkins部署】一文弄懂自動(dòng)打包部署(前后臺(tái))

這篇具有很好參考價(jià)值的文章主要介紹了【jenkins部署】一文弄懂自動(dòng)打包部署(前后臺(tái))。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

序言

軟件開(kāi)發(fā)中,會(huì)分多個(gè)環(huán)境,開(kāi)發(fā)環(huán)境、測(cè)試環(huán)境、預(yù)發(fā)布環(huán)境、生產(chǎn)環(huán)境,軟件部署如果是純?nèi)斯ひ粋€(gè)個(gè)通過(guò)jar的方式,會(huì)有如下問(wèn)題:

  • 服務(wù)器過(guò)多,容易出錯(cuò)

  • 修改配置,可能會(huì)存在未修改到位的情況

  • 服務(wù)器部署權(quán)限一般只有開(kāi)發(fā)服務(wù)器人才有權(quán)限,涉及到服務(wù)器的安全

    今年,我們看看持續(xù)構(gòu)建的一個(gè)工具jenknins,看看他是如何怎么部署的

軟件安裝

jdk

rpm -qa |grep java   ###查看是否安裝java
rpm -qa | grep java | xargs rpm -e --nodeps  ###卸載java
yum list java-1.8*   ####查看是否安裝jdk1.8的包
yum install java-1.8.0-openjdk* -y   ###一鍵安裝
java -version  ###查看jdk配置
  • 新手不建議使用這種方式,建議自己配置環(huán)境變量

maven

  • 是為了jenkins打包需要

maven離線下載

tar -zxvf apache-maven-3.9.1-bin.tar.gz

###修改目錄
mv apache-maven-3.9.1 maven

###設(shè)置環(huán)境變量
vim /etc/profile

###設(shè)置maven環(huán)境變量
MAVEN_HOME=/root/maven
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin

####查看maven的版本,是否配置成功
mvn -v

  • /root/project/maven 是maven的安裝后的路徑,根據(jù)自己的地址配置

配置maven阿里鏡像以及本地庫(kù)位置

###cd到maven下面的conf
cd conf
###打開(kāi)文件
vim settings.xml

###配置本地卡路徑
<localRepository>/root/project/maven-local</localRepository>

####配置阿里云鏡像
<mirror>
        <id>alimaven</id>
        <mirrorOf>central</mirrorOf>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>

image.png
image.png

  • 放入到mirros標(biāo)簽里面

git安裝

  • 安裝git是為了jenkins拉取代碼
yum install git
git --version

安裝jenkins

使用離線安裝

####下載jenkins
wget https://mirrors.aliyun.com/jenkins/war-stable/2.332.3/jenkins.war

###啟動(dòng)jenkins  9090是jenkins端口 
nohup java -jar /usr/local/jenkins/jenkins.war --httpPort=9090 > /var/log/jenkins.log 2>&1 &

####開(kāi)通防火墻9090端口
 firewall-cmd --zone=public --add-port=9090/tcp --permanent
 
 ####更新防火墻配置
 firewall-cmd --reload

image.png
image.png

  • 把密碼放到上圖中

image.png

  • 下載插件40分鐘左右

    image.png

插件安裝

image.png

  • 安裝gitee、maven、ssh等插件

環(huán)境配置

image.png

  • name隨便寫(xiě)
  • maven_home 寫(xiě)maven的安裝路徑

創(chuàng)建項(xiàng)目

image.png
image.png

  • 名字以實(shí)際的項(xiàng)目名為準(zhǔn)

image.png

  • 保存構(gòu)建的天數(shù),意思就是代碼構(gòu)建版本保留多久
  • 構(gòu)建最大個(gè)數(shù)為3,就是構(gòu)建的歷史記錄最大為多少,如下圖

image.png

配置gitee

image.png

  • 輸入gitee地址
  • 指定分支的dev,可以改成對(duì)應(yīng)的版本
  • Credentials 輸入對(duì)應(yīng)的用戶名
生成gitee WebHook

image.png
找到gitee的項(xiàng)目路徑,點(diǎn)擊管理
image.png
image.png

  • 找到webHook密碼復(fù)制到下面

image.png

maven打包

image.png

  • clean package -U -Dmaven.test.skip=true
  • maven版本里面的文件可以隨便寫(xiě)
  • 執(zhí)行shell里面寫(xiě)一行 echo hello判斷是否打包成功

驗(yàn)證是否打包成功

image.png
image.png
image.png

  • 注意第一次構(gòu)建,會(huì)下載很多的依賴包
  • 顯示success說(shuō)明打包成功
  • /root/.jenkins/workspace/test/target 顯示的說(shuō)明是jar包的存放路徑

image.png

  • 到這里,萬(wàn)里長(zhǎng)征已經(jīng)只差最后一步咯,jar包已經(jīng)生成,只需要把這個(gè)jar包發(fā)送到遠(yuǎn)程服務(wù)器,備份并啟動(dòng)就行

連接遠(yuǎn)程服務(wù)器并重啟服務(wù)

遠(yuǎn)程連接服務(wù)器
【jenkins部署】一文弄懂自動(dòng)打包部署(前后臺(tái))
把打包的應(yīng)用發(fā)布到遠(yuǎn)程服務(wù)器
【jenkins部署】一文弄懂自動(dòng)打包部署(前后臺(tái))

遠(yuǎn)程服務(wù)器生成私鑰

jenkins服務(wù)器和服務(wù)部署的服務(wù)器不在一條服務(wù)器,需要生成ssh秘鑰

ssh-keygen -t rsa -C "xxx@163.com"
查看秘鑰
 cat /root/.ssh/id_rsa
  • xxx@163.com可以寫(xiě)你的郵箱地址
  • 一直按回車(chē)就行
  • 把秘鑰復(fù)制下來(lái)

image.png

  • 去掉第一行和最后一行進(jìn)行復(fù)制

配置ssh

系統(tǒng)設(shè)置-》系統(tǒng)配置 一直向下拉
image.png

  • 放入遠(yuǎn)程服務(wù)器的私鑰

image.png

  • name隨便輸入
  • Hostname 服務(wù)器的ip
  • username 服務(wù)器的賬號(hào)
  • Remote Directory ssh的根目錄(操作命令,都是基于該目錄來(lái)的)
  • 點(diǎn)擊test,返回success說(shuō)明ssh免登錄成功

項(xiàng)目配置ssh

點(diǎn)擊項(xiàng)目,修改ssh配置
image.png

  • sourse file是jenkins的jar位置
  • Remove prefix是去掉前綴
  • Remote Direcotory 這里寫(xiě)的/,表示以配置的ssh根目錄為準(zhǔn),之前社長(zhǎng)配置的是/root/downlod
  • exec command是重啟腳本,這里暫時(shí)只打印echo hello這一句話

image.png
image.png

  • 到這里gitee上的代碼,已通過(guò)jenkins下載到j(luò)enkins的workspaces上編程成一個(gè)jar(maven打包)
  • 通過(guò)ssh,把對(duì)應(yīng)jar,傳輸?shù)竭h(yuǎn)程服務(wù)器上
  • 編寫(xiě)重啟的腳本(1 kill進(jìn)程,把之前的文件備份,再把該文件移動(dòng)過(guò)來(lái),再java -jar啟動(dòng))

腳本

vim test.sh

  • 編寫(xiě)test腳本
source /etc/profile
#!/bin/sh
#這里可替換為你自己的執(zhí)行程序,其他代碼無(wú)需更改
APP_NAME=iopace.jar
####ssh根目錄
SSH_PATH=/root/download
###配置項(xiàng)目的路徑
PROJECT_PATH=/root/download/bak
echo " ==備份項(xiàng)目,并移動(dòng)項(xiàng)目---"
####備份jar按bak存放
cp -R $PROJECT_PATH/$APP_NAME $PROJECT_PATH/"$APP_NAME".bak
rm -rf $PROJECT_PATH/$APP_NAME
cp -R  $SSH_PATH/$APP_NAME $PROJECT_PATH/$APP_NAME


echo "  =====關(guān)閉Java應(yīng)用======"
PROCESS=`ps -ef |grep $APP_NAME |grep -v grep|grep hg-learn.jar|awk '{print $2}'`
for i in $PROCESS
do
  echo "Kill the $1 process [ $i ]"
  kill -9 $i
done
echo "  =====啟動(dòng)Java應(yīng)用======"
nohup java -jar  -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9091 -Duser.timezone=GMT+08 $PROJECT_PATH/$APP_NAME  --spring.profiles.active=dev -Xdebug > /dev/null 2>&1 &

chmod +x test.sh

  • 給腳本執(zhí)行權(quán)限
  • 注意: source /etc/profile 腳本里面一定要增加這一行,主要是為了解決jenkins使用shell腳本執(zhí)行nohup java -jar包失敗問(wèn)題(2023/06/08發(fā)現(xiàn)的問(wèn)題修正),社長(zhǎng)查了一些資料,發(fā)現(xiàn)大部分的文章都是增加BUILD_ID=dontKillMe,但是我這邊還是啟動(dòng)項(xiàng)目失敗,但是通過(guò)ssh啟動(dòng)腳本是可以啟動(dòng)項(xiàng)目的,懷著問(wèn)題,我查閱了大量的資料,功夫不負(fù)有心人,終于被我找到問(wèn)題所在了,如果jenkins和命令打包的腳本不是同一臺(tái)服務(wù)器的話,需要在shell腳本里面增加source /etc/profile,不然jenkins在讀取環(huán)境變量的時(shí)候,會(huì)出問(wèn)題。

vue項(xiàng)目打包

nodejs安裝

下載
#下載(下載路徑)
wget https://nodejs.org/dist/v16.6.0/node-v16.6.0-linux-x64.tar.gz
#解壓
tar zxvf node-v16.6.0-linux-x64.tar.gz
# 改名
mv node-v16.6.0-linux-x64 node16
#賦權(quán)
chmod 777 node16
配置環(huán)境變量
# 打開(kāi)環(huán)境變量
vim /etc/profile
#set nodejs env(路徑一定要配置對(duì))
export NODE_HOME=/usr/local/software/nodeJs/node16
export PATH=$NODE_HOME/bin:$PATH
# 重新加載環(huán)境變量
source /etc/profile
驗(yàn)證

node -v
npm -v

【jenkins部署】一文弄懂自動(dòng)打包部署(前后臺(tái))

鏡像加速
  • nodeJS可以理解為就是后臺(tái)的maven,在配置maven的時(shí)間我們配置了阿里云鏡像,為什么?就是因?yàn)閙aven默認(rèn)的是國(guó)外鏡像,導(dǎo)致下載很慢,nodejs也是同理,所以我們需要配置國(guó)內(nèi)鏡像
npm install -g cnpm --registry=https://registry.npm.taobao.org
#校驗(yàn)是否成功
cnpm -v

【jenkins部署】一文弄懂自動(dòng)打包部署(前后臺(tái))

nodeJS插件安裝

【jenkins部署】一文弄懂自動(dòng)打包部署(前后臺(tái))- 安裝NodeJS插件

配置nodeJS環(huán)境變量

【jenkins部署】一文弄懂自動(dòng)打包部署(前后臺(tái))

創(chuàng)建vue項(xiàng)目

【jenkins部署】一文弄懂自動(dòng)打包部署(前后臺(tái))
【jenkins部署】一文弄懂自動(dòng)打包部署(前后臺(tái))
【jenkins部署】一文弄懂自動(dòng)打包部署(前后臺(tái))

  • 構(gòu)建的版本保留2天,最多存在3個(gè)構(gòu)建版本
    【jenkins部署】一文弄懂自動(dòng)打包部署(前后臺(tái))
  • 輸入項(xiàng)目的git地址
  • 指定分支 master可以動(dòng)態(tài)修改成其他的分支
    【jenkins部署】一文弄懂自動(dòng)打包部署(前后臺(tái))
    【jenkins部署】一文弄懂自動(dòng)打包部署(前后臺(tái))
  • 點(diǎn)擊生成webHook密碼,記住框起來(lái)的兩個(gè)地址,需要在gitee上配置
    【jenkins部署】一文弄懂自動(dòng)打包部署(前后臺(tái))
  • 填入上面記住的兩個(gè)信息
    【jenkins部署】一文弄懂自動(dòng)打包部署(前后臺(tái))
  • 點(diǎn)擊測(cè)試,沒(méi)有報(bào)錯(cuò),說(shuō)明連接成功
添加nodeJS信息

【jenkins部署】一文弄懂自動(dòng)打包部署(前后臺(tái))

  • 如果nodeJS配置沒(méi)有問(wèn)題,下拉可以選擇到我們配置好的nodeJS環(huán)境變量
設(shè)置shell腳本
echo $PATH
node -v
npm -v
#npm install -g cnpm --registry=https://registry.npm.taobao.org
#cnpm install node-sass
#cnpm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver
#npm install
#cnpm  install vue-awesome-swiper --save
#cnpm  install vue-ba --save
npm run build --dev
  • 打印當(dāng)前地址,輸入node的版本信息
  • npm run build --dev dev就是前端的不同環(huán)境的名稱,可以動(dòng)態(tài)切換
  • 實(shí)際上就是在jenkins的工作目錄下生成一個(gè)dist的文件夾
    【jenkins部署】一文弄懂自動(dòng)打包部署(前后臺(tái))
    到這里我們已經(jīng)實(shí)現(xiàn)把前臺(tái)項(xiàng)目編譯成文件夾運(yùn)行咯,在實(shí)際部署過(guò)程中,可能存在jenkins和前臺(tái)不是一臺(tái)服務(wù)器的情況,所以我們還需要多操作一步
前臺(tái)代碼部署到另外一臺(tái)服務(wù)器

【jenkins部署】一文弄懂自動(dòng)打包部署(前后臺(tái))文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-478411.html

  • ssh server name是我們?cè)陧?xiàng)目ssh階段已配置好的
    【jenkins部署】一文弄懂自動(dòng)打包部署(前后臺(tái))
  • Sources files實(shí)際上就是針對(duì)于jenkins的workspaces來(lái)說(shuō)的,是相對(duì)路徑dist/*的意思就是dist文件夾的內(nèi)容,我都需要
  • Remove prefix不需要去掉前綴,因?yàn)槭俏募A,所以不需要配置
  • Remote diretory 上傳路徑,這里的/是相對(duì)于ssh配置的路徑來(lái)說(shuō)的(ssh我配置的是/root/download)
  • exec command 就是需要執(zhí)行的命令,后臺(tái)打包有講解,可以參考編寫(xiě)
    到這里jenkins打包成vue就成功咯

到了這里,關(guān)于【jenkins部署】一文弄懂自動(dòng)打包部署(前后臺(tái))的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Jenkins的環(huán)境部署,(打包、發(fā)布、部署、自動(dòng)化測(cè)試)

    Jenkins的環(huán)境部署,(打包、發(fā)布、部署、自動(dòng)化測(cè)試)

    一、Tomcat環(huán)境安裝 1.安裝JDK(Java環(huán)境) JDK下載地址:Java Downloads | Oracle 安裝好后在系統(tǒng)環(huán)境變量里配置環(huán)境變量: ①添加JAVA_HOME 變量名:JAVA_HOME 變量值:C:Program FilesJavajdk1.8.0_181(根據(jù)自己的實(shí)際路徑配置) ②添加CLASSPATH 變量名:CLASSPATH 變量值:.;%JAVA_HOME%libdt.jar;%J

    2024年01月18日
    瀏覽(30)
  • 基于Jenkins自動(dòng)打包并部署Tomcat環(huán)境

    基于Jenkins自動(dòng)打包并部署Tomcat環(huán)境

    目錄 1、配置git主機(jī) 2、配置jenkins主機(jī) 3、配置web主機(jī) 4、新建Maven項(xiàng)目 5、驗(yàn)證 Jenkins 自動(dòng)打包部署結(jié)果 Jenkins 的工作原理是先將源代碼從 SVN/Git 版本控制系統(tǒng)中拷貝一份到本地,然后根據(jù)設(shè)置的腳本調(diào)用Maven進(jìn)行 build(構(gòu)建)。整個(gè)系統(tǒng)的關(guān)鍵就是 build 腳本,build 腳本告訴

    2024年02月11日
    瀏覽(30)
  • 基于Jenkins自動(dòng)打包并部署docker環(huán)境

    基于Jenkins自動(dòng)打包并部署docker環(huán)境

    目錄 1、安裝docker-ce 2、阿里云鏡像加速器 3、構(gòu)建tomcat 基礎(chǔ)鏡像? 4、構(gòu)建一個(gè)Maven項(xiàng)目 實(shí)驗(yàn)環(huán)境 操作系統(tǒng) IP地址 主機(jī)名 角色 CentOS 7.5 192.168.200.111 git git服務(wù)器 CentOS 7.5 192.168.200.112 Jenkins?git客戶端 jenkins服務(wù)器 CentOS 7.5 192.168.200.113 docker web服務(wù)器 在192.168.200.113上創(chuàng)建遠(yuǎn)程目錄

    2024年02月11日
    瀏覽(34)
  • 17.Jenkins完成自動(dòng)化 拉取,編譯,打包,部署

    17.Jenkins完成自動(dòng)化 拉取,編譯,打包,部署

    1.1安裝gitee插件到j(luò)enkins ?gitee默認(rèn)不允許內(nèi)網(wǎng)觸發(fā)。----必須要配置內(nèi)網(wǎng)穿透 NATAPP - ? ? ? 思考: 我們的項(xiàng)目和jenkins是不是都在一臺(tái)服務(wù)器上。因?yàn)閖enkins它所在的服務(wù)器非常耗費(fèi)資源,因?yàn)閖enkins本身要集成很多軟件。如果這時(shí)項(xiàng)目也部署到當(dāng)作jenkins所在的服務(wù)器,勢(shì)必會(huì)導(dǎo)致

    2024年02月04日
    瀏覽(26)
  • 【K8S專題】八、Jenkins 自動(dòng)打包部署配置

    【K8S專題】八、Jenkins 自動(dòng)打包部署配置

    ??項(xiàng)目部署有多種方式,從最原始的可運(yùn)行 jar 包直接部署到 JDK 環(huán)境下運(yùn)行,到將可運(yùn)行的 jar 包放到 docker 容器中運(yùn)行,再到現(xiàn)在比較流行的把可運(yùn)行的 jar 包和 docker 放到 k8s 的 pod 環(huán)境中運(yùn)行。每一種新的部署方式都是對(duì)原有部署方式的改進(jìn)和優(yōu)化,這里不著重介紹每種

    2024年02月15日
    瀏覽(21)
  • 前端項(xiàng)目打包和自動(dòng)化部署(jenkins+gitee+nginx)

    前端項(xiàng)目打包和自動(dòng)化部署(jenkins+gitee+nginx)

    1. 傳統(tǒng)的開(kāi)發(fā)模式 在傳統(tǒng)的開(kāi)發(fā)模式中,開(kāi)發(fā)的整個(gè)過(guò)程是按部就班就行: 但是這種模式存在很大的弊端: 工作的不協(xié)調(diào):開(kāi)發(fā)人員在開(kāi)發(fā)階段,測(cè)試和運(yùn)維人員其實(shí)是處于等待的狀態(tài)。等到測(cè)試階段,開(kāi)發(fā)人員等待測(cè)試反饋bug,也會(huì)處于等待狀態(tài)。 線上bug的隱患:項(xiàng)目準(zhǔn)

    2024年02月01日
    瀏覽(25)
  • Jenkins+Maven+Gitlab+Tomcat 自動(dòng)化構(gòu)建打包,部署

    Jenkins+Maven+Gitlab+Tomcat 自動(dòng)化構(gòu)建打包,部署

    1、安裝服務(wù) Jenkins工具、環(huán)境、插件配置 全局變量配置 Manage JenkinstoolsJDK 安裝 安裝插件 Deploy to container 安裝此插件,才能將打好的包部署到tomcat上 ? ? 配置國(guó)內(nèi)mvn源 創(chuàng)建maven項(xiàng)目 1 ?2 ? 3? ? 4? ? 5? ? 6? ? 7? ? 8? ? ?9 10 ?

    2024年02月05日
    瀏覽(33)
  • 輕松拿捏Jenkins(Linux)+Java11+Docker自動(dòng)化打包部署

    輕松拿捏Jenkins(Linux)+Java11+Docker自動(dòng)化打包部署

    注:本文由筆者小白親手實(shí)踐寫(xiě)作,涵蓋較全,創(chuàng)作不易,且行且珍惜??! 歷時(shí)24小時(shí),包含Jenkins環(huán)境構(gòu)建部署過(guò)程中的99%問(wèn)題,確定不來(lái)看一下嗎? 由于Jenkins自2.357版本之后,上新的版本需要提供Java11及以上版本的支持,且之前的版本市場(chǎng)上推薦的絕大多數(shù)插件已經(jīng)不再

    2024年02月06日
    瀏覽(23)
  • 基于Jenkins自動(dòng)打包并部署docker、PHP環(huán)境,ansible部署-------從小白到大神之路之學(xué)習(xí)運(yùn)維第86天

    基于Jenkins自動(dòng)打包并部署docker、PHP環(huán)境,ansible部署-------從小白到大神之路之學(xué)習(xí)運(yùn)維第86天

    第四階段提升 時(shí) ?間:2023年8月23日 參加人:全班人員 內(nèi) ?容: 基于Jenkins部署docker、PHP環(huán)境 目錄 一、環(huán)境部署 (一)實(shí)驗(yàn)環(huán)境,服務(wù)器設(shè)置 (二)所有主機(jī)關(guān)閉防火墻和selinux,修改主機(jī)名 (三)配置git主機(jī) (四)配置jenkins主機(jī) (五)Jenkins配置 二、基于Jenkins自動(dòng)打包

    2024年02月11日
    瀏覽(26)
  • 小白到運(yùn)維工程師自學(xué)之路 第七十九集 (基于Jenkins自動(dòng)打包并部署Tomcat環(huán)境)2

    小白到運(yùn)維工程師自學(xué)之路 第七十九集 (基于Jenkins自動(dòng)打包并部署Tomcat環(huán)境)2

    ? 拉到最后選擇構(gòu)建后操作 拉到最后點(diǎn)擊保存 ? 訪問(wèn)192.168.77.19:8080/probe 賬戶密碼都是tomcat ?

    2023年08月27日
    瀏覽(20)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包