前端自动部署解决方案
背景
公司前后端分离的项目,需要测试环境和正式环境各部署一套,想打包之后自动上传到服务器。
需要解决的我问题
1.需要根据不同环境打包不同的目录,分测试环境和正式环境2种。
2.只能把打包后的文件上传到服务器,其它代码不能上传
步骤
1.服务器上添加webhooks
2.gitee上添加webhooks,url地址在服务器的webhooks里
3.添加脚本
#!/bin/bash
cd /www/wwwroot/firadmin.ahaiba.cn
git pull origin master
cp -rf /www/wwwroot/firadmin.ahaiba.cn/deve/* /www/wwwroot/firadmin.ahaiba.cn // 拷贝到根目录(如果项目在根目录的话)
4.从gitee上拉取打包的文件夹,拉取之前需要做某些设置,如下
cd deve
git init
git remote add -f origin git地址(如果是ssh,需要加webhooks公钥)
git config core.sparsecheckout true //开启sparse checkout功能
echo “deve/” >> .git/info/sparse-checkout //将deve目录写入到该文件中
git pull origin master
如果是node服务 需要 pm2 -u www restart fir 重启一下服务
上面解决的是自动部署问题,分环境打包的话,利用webpack config.js文件通过环境变量打包到不同文件夹就可以了,不细说