在代码不断修改的过程中,去服务器部署,需要人为的重复工作,所以用jenkins去代替人力,去服务器上面部署最新的代码,提高工作效率,让测试等不懂部署方式的人,也可以去根据最新代码部署项目。该介绍包括前后端项目的部署。
安装好后去系统管理中设置
找到刚刚的插件输入zh_CN,点击应用就可以了,如果不行,进行jenkins的重启。
输入workspace cleanup
重启Jenkins后就可以看到对应功能
# 中间内容随意,只是作为名词管理
ssh-keygen -C "[email protected]"
cat ~/.ssh/id_rsa.pub
ssh -T [email protected]
一定上面对应公钥的账号一定要有下面代码库的权限,否则会报权限异常。
这次选择的是手动创建,也可以在下面选择push代码时,进行流水线构建。
pom.xml
clean package -Dmaven.test.skip=true -Ptest
其中shell脚本,记得一定要将项目启动脚本提前放入到对应工作目录中
# 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 "当前工作路径: "`pwd`
mv $JARNAME $JARNAME.$(date +%Y%m%d%H%M).bak || true
mv $TMP_JARNAME $JARNAME
./start.sh
安装包地址
mkdir -p /root/.nvm
tar -zxvf nvm-0.38.0.tar.gz -C /root/.nvm
打开 ~/.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.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;
}
}
#!/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
之前安装的时候,使用了3.9.1版本的maven出现问题后,定位问题,发现是maven版本太高的问题,替换为3.8.3版本后,问题消失
用nvm安装对应版本的nodejs
# 安装对应版本的nodejs
nvm install 16.17.0
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
vim ~/.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
nvm -v