自学内容网 自学内容网

前后端项目部署方案汇总

Vue项目

1、本地打包部署

# 本地打包部署到线上服务器
npm run build && \
rsync -r ./dist/* root@127.0.0.1:/www/www.demo.com/www

2、服务器端打包部署

步骤

拉取代码 -> 安装依赖 -> 打包编译 -> 拷贝到运行目录 -> 发送成功消息

shell命令

cd /www/www.demo.com/www && \
git pull && \
export PATH="/usr/local/node-v16.20.2/bin:$PATH" && \
pnpm i --no-frozen-lockfile --registry=https://registry.npmmirror.com && \
npm run build && \
mkdir -p www && \
/usr/bin/cp -R ./dist/* ./www

if [ $? -eq 0 ]; then
    # 部署完成
    curl -H "Content-Type:application/json" -X POST -d '{"to": ["123456@qq.com"], "subject": "【Runner】部署完成", "body": "部署完成 https://www.demo.com/"}' http://127.0.0.1:8080/sendEmail
else
    # 部署失败
    curl -H "Content-Type:application/json" -X POST -d '{"to": ["123456@qq.com"], "subject": "【Runner】部署失败", "body": "部署失败 https://www.demo.com"}' http://127.0.0.1:8080/sendEmail
fi

Nuxt项目

supervisor配置文件

[program:demo-www]
environment=NODE_MODE=alpha
directory=/data/wwwroot/www.demo.com
command=/usr/local/node-v16.20.2/bin/node node_modules/nuxt/bin/nuxt.js start
user=www
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=1
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=1
stopasgroup=true
killasgroup=true

Java项目

本地打包部署脚本

#!/bin/bash
# 打包脚本
mvn clean package -P prod && \
rsync -rtvz --progress ./target/dist/demo-api/* root@127.0.0.1:/data/wwwroot/www.demo.com/www && \
ssh root@127.0.0.1 '/data/wwwroot/www.demo.com/www && /usr/bin/supervisorctl restart demo-api'

if [ $? -eq 0 ]; then
    echo 'success'
else
    echo 'error'
fi

supervisor配置文件

[program:demo-api]
directory=/data/wwwroot/www.demo.com/www
command=/usr/bin/java -jar ./demo-api.jar --spring.profiles.active=pro
user=www
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=1
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=1

原文地址:https://blog.csdn.net/mouday/article/details/140294079

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!