阿里云效搭建github的前端流水线

先构建一个vue项目,新建一个node模板,配置流水线源,按照说明一步步配置就可以了,最好开始webhook

复制webhook地址,添加入github仓库的settings的webhooks中,Content type设置为json

流水线源设置好了之后,我是去掉了测试部分,实际项目可自行修改,

然后是构建部分,构建集群的选择,由于github拉取代码会比较慢,所有选择了香港的集群

然后按照需求选择其他,一般的构建命令

bash 复制代码
npm install
npm run build

打包路径

然后是部署部分,按照需求填写,部署脚本,直接解压缩文件到目标文件夹之后覆盖,会导致目标文件夹越来越大

bash 复制代码
# 备份 /home/my-project/ 目录(可选)
cp -r /home/my-project/ /home/my-project-backups/

# 删除 /home/my-project/ 目录下的所有文件 -mindepth搜索子目录
find /home/my-project/ -mindepth 1 -delete

# 解压缩压缩文件,并将其中的文件覆盖到 /home/my-project/ 目录
tar zxvf /home/admin/package.tgz -C /home/my-project/

# 删除备份的目录(可选)
rm -rf /home/my-project-backups/

在部署和构建阶段也可以添加任务插件来进行通知,

配置好nginx配置就可以访问了

配置node后端服务

配置node后端服务,步骤类似,构建阶段的构建命令就不用build了

bash 复制代码
npm install

部署脚本阶段也类似

bash 复制代码
# 备份 /home/my-project/ 目录(可选)
cp -r /home/my-project/ /home/my-project-backups/

# 删除 /home/my-project/ 目录下的所有文件 -mindepth搜索子目录
find /home/my-project/ -mindepth 1 -delete

# 解压缩压缩文件,并将其中的文件覆盖到 /home/my-project/ 目录
tar zxvf /home/admin/package.tgz -C /home/my-project/

# 删除备份的目录(可选)
rm -rf /home/my-project-backups/

if pm2 list | grep -q "\dmy\d"; then
    pm2 reload my
else
    pm2 start /data/my-project/index.js --name my
    pm2 save
fi

上述命令假定服务器已经安装pm2,同时也运行了开机启动pm2

bash 复制代码
pm2 startup

判断是否开启了名称为my的项目,开启了reload ,没开启开启并且save一下,

由于只有一台服务器,后端服务开启的子域名,添加有一个nginx配置,example.com为子域名,http://127.0.0.1:3000为开启的后端服务端口

bash 复制代码
server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://127.0.0.1:3000;
    }
}
相关推荐
汪敏wangmin几秒前
Fiddler-抓包后直接生成Loadrunner脚本或者Jmeter脚本
前端·jmeter·fiddler
彤银浦42 分钟前
Web学习笔记3
前端·笔记·学习·html5
江城开朗的豌豆1 小时前
退出登录后头像还在?这个缓存问题坑过多少前端!
前端·javascript·vue.js
江城开朗的豌豆1 小时前
Vue的'读心术':它怎么知道数据偷偷变了?
前端·javascript·vue.js
江城开朗的豌豆1 小时前
手把手教你造一个自己的v-model:原来双向绑定这么简单!
前端·javascript·vue.js
我在北京coding1 小时前
el-tree 懒加载 loadNode
前端·vue.js·elementui
江城开朗的豌豆1 小时前
v-for中key值的作用:为什么我总被要求加这个'没用的'属性?
前端·javascript·vue.js
angen20181 小时前
Ruby如何采集直播数据源地址
前端·chrome
goldenocean2 小时前
React之旅-05 List Key
前端·javascript·react.js
亮学长2 小时前
lodash不支持 Tree Shaking 而 lodash-es可以
大数据·前端·elasticsearch