小团队怎么做自动化部署

2023-03-21 09:55:41 +08:00
 fyooo

公司有阿里云的服务器 ECS ,也有自己的机房服务器。

看了一下,阿里云 ECS 有配套的 https://help.aliyun.com/document_detail/224608.html

不知道自己机房的服务器怎么部署好

后台是:Go ,前端是 Next.js

当前简单粗暴的在服务器上 git pull ,但是这个太原始了,不知道有没有成熟的开源方案

17582 次点击
所在节点    程序员
112 条回复
fivesmallq
2023-03-21 11:37:34 +08:00
github 私有仓库(免费)存储代码,github action 构建 docker 镜像,harbor (自建或者使用云服务商的免费镜像仓库),github action 构建推送到镜像仓库,服务器小规模的使用 docker-compose 即可,使用 https://github.com/containrrr/watchtower 监控容器变更,有新版本自动拉取重启(可以设定一个 release 一个 dev tag )

基本上不花一分钱就搞定了,其中 github 可以替换成自建 gitlab ,github action 替换为 jenkins ,就是得自己写 Jenkins file 了。
taoge0224
2023-03-21 11:44:41 +08:00
需要技术支持不
isnullstring
2023-03-21 11:47:40 +08:00
@wu67 很容易啊,apt-get update &upgrade 就完事了,官方好像推荐直接使用源安装,这样容易升级
likunyan
2023-03-21 11:48:40 +08:00
drone
nijux
2023-03-21 11:49:58 +08:00
如果用到 Gitlab 并且在外网访问,请关注安全新闻,经常看到 Gitlab 的漏洞新闻
dreamramon
2023-03-21 11:59:27 +08:00
github action 里面,直接指定 tag ,然后自动部署。。。
rockxsj
2023-03-21 12:05:55 +08:00
drone
liuxu
2023-03-21 12:25:27 +08:00
github actions/gitlab runner 就行了,不需要自己跑 jenkins ,可以看看我的小项目 go + vue ,github actions 自动化 release ,https://github.com/liuquanhao/moyu/blob/main/.github/workflows/release.yml
noparking188
2023-03-21 12:34:44 +08:00
服务跑在什么上面的,有没有用容器啊
swulling
2023-03-21 12:35:55 +08:00
小公司直接 git ops 就完了,至于 pipeline 用什么都可以。gitlab ci ,jenkins 等等,没啥大的区别。
M003
2023-03-21 13:08:03 +08:00
都用阿里云了,顺便用下他们的云效吧. master 修改触发, 我直接就是 git pull .最近在学 docker.
caotian
2023-03-21 13:14:05 +08:00
用了一圈 gitlab, drone, gitea, 还是喜欢 github 和 action 里, 最终找了个那个啥的 github 企业版本的部署在内网, 跟 github 使用几乎没区别
ZoeyZ
2023-03-21 13:14:56 +08:00
gitlab ci + argoCD
Chad0000
2023-03-21 13:20:18 +08:00
那些使用 GitHub action 的建议看看 Azure DevOps 。我就是从 Jenkins 到 GitHub Action 再到 ADO 的。
fivesmallq
2023-03-21 13:27:38 +08:00
@Chad0000 Azure DevOps 对比 Github Action 的优势是啥?不知道免费额度咋样。
clemente0620
2023-03-21 13:28:59 +08:00
@swulling 区别蛮大的 灵活性上面
Chad0000
2023-03-21 13:32:05 +08:00
@fivesmallq
免费额度一样。ADO build 和 release 是分开的,方便你发布历史版本。ADO build 出来的东西存储不计费,比如你 build docker image 存起来,发布的时候再 push 。第三方插件比较多,可视化做得比较好。相比之下 GitHub action 就像半成品。
Tonyski
2023-03-21 13:41:53 +08:00
前端直接上 github + vercel
zzzzzzZ
2023-03-21 13:43:22 +08:00
你是想要《 Rainbond 》这种无脑方案,但是 rainbond 不好用,适合不懂开发的运维

但是我更加推荐,也是楼上一致的方案:
自己的 git 库+Jenkins+制品仓库( Harbor 或者云服务制品库)+k8s/云容器服务

粗学上手一套其实也不难,远比用 rainbond 带来的隐患轻松多了
定制性更佳、更灵活、私密、功能健全,秒杀 rainbond 这种无脑方案
remember5
2023-03-21 13:46:01 +08:00
gitlab-ci 比较贴切 gitlab

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

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

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

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

© 2021 V2EX