没有运维。
其实都隶属于同一个项目:
有三台服务器:
每台服务器对应不同的域名,所以项目中请求的 URL 也会作出相应的更改。
项目架构:vue + webpack
每个项目下都有三个文件:
在 config/prod.env.js
中,通过 process.env.NODE_ENV
来判断当前的环境来选择 API 接口地址:
const AUTH_API =
process.env.NODE_ENV === 'production:test' ? '"http://xxxtest.example.com/"'
: process.env.NODE_ENV === 'production:show' ? '"http://xxxshow.example.com/"'
: '"http://xxx.example.com/"'
每次部署都要跑一遍 3 个脚本,然后通过 scp 传到对应服务器的对应文件夹。但是 3 个项目都得跑一遍。
使用 jenkins 进行部署,但是用了发现好像只是将执行脚本的环境将本地搬到了线上罢了。
而且,这样的话,还需要将 jenkins 所在的 docker 的 sshkey 添加到各个服务器上,才能成功 scp。
不知道还有没有其他好的办法。
并且,对于 chalk 的输出貌似不能正常显示。
暂时不需要测试。
1
LeungJZ OP 大佬们都去哪里了?
|
2
cleveryun 2018-06-03 09:01:52 +08:00 via iPhone
为啥不直接在代码里通过域名来判断在封装请求的方法里动态改接口域名部分呢?这样就只用编译一次了,发布要发三次这个肯定的。
这样就可以编译一次,然后并联往三台服务器 scp 发文件了,时间上比串联的编译三次发三次快多了。 有个 npm-run-all 的包处理串并联任务比较方便。 串并联可能用词不对,反正知道啥意思就行 |
3
cleveryun 2018-06-03 09:04:24 +08:00 via iPhone
我是服务端 node 程序里判断环境才像你说的那样弄的,不同环境分别编译一次
|