大佬们, gitlab-ci 问题,求解

2021-04-01 20:41:33 +08:00
 baozi23
// gitlab-ci.yml
build-staging:
stage: build
script:
- docker build -t appName .
- docker login -u root -p password hub.com
- docker push appName
only:
- master

deploy-staging:
stage: deploy
script:
- docker run --rm -v /data/ci/agatha-staging:/app/tmp appName
- scp -r /data/ci/agatha-staging/* root@ip:/etc/share/nginx/html/vueCli
- docker login -u root -p password hub.com
- docker rmi appName


// Dockerfile
COPY . /app
WORKDIR /app

RUN yarn install && npm run build
CMD cp -TR /app/dist /app/tmp
通过 gitlab-ci 和 docker 部署 vue 项目,这种情况下如何回退呢?
876 次点击
所在节点    问与答
3 条回复
mritd
2021-04-02 09:58:35 +08:00
排版很乱,玩的跟骚 首先说明覆盖文件方式是没法回滚的,其次我觉得你在滥用 gitlab ci,runner 本身支持对接后端 docker,所以你的 build 部分应该是直接使用 nodejs 镜像,然后执行你的 yarn 命令,接着 cache 住生成的发布物,部署阶段如果有 k8s 推荐直接将发布物打入 nginx 镜像然后滚动,没有 k8s 自己写脚本在 LB 后面手动操作也比你这个 scp 强
baozi23
2021-04-02 10:24:28 +08:00
@mritd 先感谢大佬哈,小白没看懂,我这不用 dokcer 这也行,直接 build 然后把打包后的文件放到资源服务器上去。你说的 k8s 那快没理解是怎么操作,后面你说的自己写脚本,是我要在 build 后,根据版本号打个压缩包存储在服务器上吗?回退的时候直接在服务器上手动操作吗?
SjwNo1
2021-04-02 19:48:52 +08:00
app 服务化,可以 rollback 到上个版本,你现在的设计貌似只能基于镜像版本来更新 /“回滚”

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/767339

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX