背景
在代碼不斷修改的過程中,去服務(wù)器部署,需要人為的重復(fù)工作,所以用jenkins去代替人力,去服務(wù)器上面部署最新的代碼,提高工作效率,讓測試等不懂部署方式的人,也可以去根據(jù)最新代碼部署項目。該介紹包括前后端項目的部署。
需要先安裝好Jenkins
我之前有一篇安裝Jenkins文章,有需要的可以去看一下。
插件安裝
系統(tǒng)管理
插件管理
插件查找,找到后勾選左下角安裝
中文設(shè)置插件
安裝好后去系統(tǒng)管理中設(shè)置
找到剛剛的插件輸入zh_CN,點擊應(yīng)用就可以了,如果不行,進行jenkins的重啟。
Maven插件
Jenkins部署前清空原有workspace
輸入workspace cleanup
重啟Jenkins后就可以看到對應(yīng)功能
安裝git插件
部署java流水線(以碼云為例)
全局配置
maven配置
Jdk設(shè)置
Git設(shè)置
Maven
Git權(quán)限配置
Liunx生成公鑰
# 中間內(nèi)容隨意,只是作為名詞管理
ssh-keygen -C "xxxxx@xxxxx.com"
查看公鑰
cat ~/.ssh/id_rsa.pub
Gitee添加公鑰
首次需要確認(rèn)并添加主機到本機SSH可信列表
ssh -T git@gitee.com
設(shè)置后端流水線
命名流水線
根據(jù)流程去命名流水線,創(chuàng)建一個maven項目的流水線。
選擇丟棄版本
設(shè)置git地址和分支
一定上面對應(yīng)公鑰的賬號一定要有下面代碼庫的權(quán)限,否則會報權(quán)限異常。
構(gòu)建觸發(fā)器
這次選擇的是手動創(chuàng)建,也可以在下面選擇push代碼時,進行流水線構(gòu)建。
構(gòu)建環(huán)境
Build
pom.xml
clean package -Dmaven.test.skip=true -Ptest
Post Steps
其中shell腳本,記得一定要將項目啟動腳本提前放入到對應(yīng)工作目錄中
# jenkins中存放項目資源的位置/var/lib/jenkins/workspace/流水線名稱/TARGET_DIR位置
TARGET_DIR=demo
# 項目的工作目錄,放jar包,日志和啟動腳本
WORKDIR=/export/項目名稱/backend
JARNAME=項目jar包名稱.jar
TMP_JARNAME=$JARNAME".tmp"
cp $TARGET_DIR"/"$JARNAME $WORKDIR/$TMP_JARNAME
cd $WORKDIR
echo "當(dāng)前工作路徑: "`pwd`
mv $JARNAME $JARNAME.$(date +%Y%m%d%H%M).bak || true
mv $TMP_JARNAME $JARNAME
./start.sh
啟動流水線
找到要啟動的項目
啟動構(gòu)建
下面生成新的構(gòu)建記錄
項目構(gòu)建成功
其中有編譯過程,將舊版本jar包改名和運行啟動腳本。
構(gòu)建前端代碼流水線
前置要求
先在服務(wù)器上面安裝nvm
用來管理nodejs
下載nvm安裝包
安裝包地址
解壓nvm
mkdir -p /root/.nvm
tar -zxvf nvm-0.38.0.tar.gz -C /root/.nvm
配置環(huán)境
打開 ~/.bashrc
gedit ~/.bashrc
末尾添加下面語句
export NVM_DIR="$HOME/.nvm/nvm-0.38.0"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
# This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
# This loads nvm bash_completion
# nodejs下載更換淘寶鏡像
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node
啟動配置
source ~/.bashrc
安裝nginx
nginx安裝教程
在nginx.conf配置文件中進行配置。
server {
listen 8888;
server_name localhost;
location / {
alias /export/項目名稱/fontend/dist/;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
命名流水線
General
源碼管理
構(gòu)建環(huán)境
構(gòu)建
#!/bin/bash -ilex
# 工作目錄
WORK_DIR=/export/項目目錄fontend
NODE_VERSION=16.17.0
BUILD_PROFILE=build:stage
# 訪問后端接口
URL=http://ip:端口號
PROFILE_FILE=.env.staging
if [ -n "$URL" ]; then
echo "VITE_APP_BASE_API = '$URL'" >> $PROFILE_FILE
fi
nvm use $NODE_VERSION
npm install --registry=https://registry.npm.taobao.org
npm run $BUILD_PROFILE
zip -r dist-new.zip dist
cp dist-new.zip $WORK_DIR
cd $WORK_DIR
mv dist.zip dist.zip.$(date +%Y%m%d%H%M).bak || true
mv dist-new.zip dist.zip
rm -rf dist
unzip dist.zip
啟動構(gòu)建
構(gòu)建成功
可能出現(xiàn)的問題
maven版本問題
之前安裝的時候,使用了3.9.1版本的maven出現(xiàn)問題后,定位問題,發(fā)現(xiàn)是maven版本太高的問題,替換為3.8.3版本后,問題消失
nvm版本問題
問題表現(xiàn)
問題解決
用nvm安裝對應(yīng)版本的nodejs
# 安裝對應(yīng)版本的nodejs
nvm install 16.17.0
nvm安裝
下載
wget https://github.com/nvm-sh/nvm/archive/refs/tags/v0.38.0.tar.gz
解壓
mkdir -p /root/.nvm
tar -zxvf v0.38.0.tar.gz -C /root/.nvm
配置環(huán)境
vim ~/.bashrc
末尾追加文章來源:http://www.zghlxwxcb.cn/news/detail-633374.html
export NVM_DIR="$HOME/.nvm/nvm-0.38.0"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
# This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
# This loads nvm bash_completion
# nodejs下載更換淘寶鏡像
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node
配置生效
source ~/.bashrc
查看nvm版本
nvm -v
文章來源地址http://www.zghlxwxcb.cn/news/detail-633374.html
到了這里,關(guān)于Jenkins部署構(gòu)建項目的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!