1
hteen 2021-07-07 22:52:53 +08:00
|
2
JerryCha 2021-07-07 23:26:02 +08:00
「而且我还有个疑问 , 即使我顺利的让它 npm install 了, 也不能每次编译都 npm install 一次吧? 」
---------------------------------------------------------------------------------------------------------------------- 构建时不 install,新的依赖就不会被安装,你还是会被开发打死。 |
3
Vegetable 2021-07-08 00:06:16 +08:00
node_modules 在 ci 时必须要缓存的。
|
4
chenluo0429 2021-07-08 09:12:04 +08:00
1. node_modules 缓存;
2. 用 verdaccio 之类的搭建一个内网的 proxy registry ; 我建议用第二个,保证每次构建过程都是完整的 |
5
kenshin912 OP @hteen #1 感谢 , 你发的链接 , 让我注意到了 spug 的 node example , 我在 walle 上用 yarn 成功的编译出 dist .
|
6
kenshin912 OP @JerryCha #2
@Vegetable #3 @chenluo0429 #4 感谢 , 用了 yarn , 并且编译前设置了 yarn --cache-folder , 把缓存目录放到编译目录以外的地方 , 应该就可以了吧? |
7
basefas 2021-07-08 10:15:44 +08:00
所以为什么不在 docker 里打包,然后制作成 docker 镜像呢
|
8
kenshin912 OP @basefas #7 开发没几个会用 Docker 啊 , 线上环境也不是 Docker , 我也很苦恼 .
|
9
basefas 2021-07-08 11:16:16 +08:00
@kenshin912 #8 如果只有 node 项目的话,可以考虑在 docker 里编译,然后将编译文件从容器中拷贝出来
|
10
kenshin912 OP @basefas #9 我的需求是开发那边 Merge 代码后 ,可以进行快速构建,上线并且可以快速回滚。
你说的这个办法我可能没理解如何操作。。。 我是拉一个 node.js 的 Docker image,然后启动一个容器 , 在这个容器中编译 ,然后 cp 生成的 dist 到容器外部嘛? |
11
basefas 2021-07-08 15:32:45 +08:00
@kenshin912 #10 对的,而且你如果用 gitlab 的话,可以考虑使用 gitlab-ci 做 cicd
|
12
kenshin912 OP @basefas #11 这个要搭配 gitlab-runner 吧 ?
之前我用 gitlab-runner 实现过 Merge 代码触发自动构建。 但是针对回滚这块我就没接触了,现在用 Walle 也是图个方便回滚。 |