公司有阿里云的服务器 ECS ,也有自己的机房服务器。
看了一下,阿里云 ECS 有配套的 https://help.aliyun.com/document_detail/224608.html
不知道自己机房的服务器怎么部署好
后台是:Go ,前端是 Next.js
当前简单粗暴的在服务器上 git pull ,但是这个太原始了,不知道有没有成熟的开源方案
1 clickhouse 2023-03-21 09:58:04 +08:00 我司( Java ) Jenkins 触发自动部署 K8S 。 |
![]() | 2 ReinerShir 2023-03-21 09:58:39 +08:00 ![]() jenkins + docker compose ,服务不多的话单 jenkins 就够了 |
![]() | 3 bugsnail 2023-03-21 09:59:13 +08:00 给个思路吧:github/gitlab 私有仓库托管,自己部署个 jenkins 想怎么玩怎么玩 但是,一个 jenkins 跑起来就吃掉 1G 多的内存.... |
![]() | 4 caneman 2023-03-21 09:59:58 +08:00 jenkins + docker compose |
![]() | 5 placeholder 2023-03-21 10:01:11 +08:00 ![]() |
6 leeraya 2023-03-21 10:03:55 +08:00 jenkins 、gitlab 、harbor 、k8s |
![]() | 7 jearyvon 2023-03-21 10:08:09 +08:00 我们在用的流程大概就是 git tag trigger -> jenkens (build docker image) -> ALIYUN K8S deploy |
8 Rache1 2023-03-21 10:09:32 +08:00 ![]() 阿里云有 ”云效“ |
![]() | 9 ZxBing0066 2023-03-21 10:10:35 +08:00 ![]() gitlab ci 吧,感觉 jenkins 没有 gitlab ci 和 github action 简单 |
![]() | 10 hzfyjgw 2023-03-21 10:17:46 +08:00 ![]() argocd |
![]() | 11 wu67 2023-03-21 10:17:52 +08:00 最近我也在搞公司测试环境的 cicd. 因为团队的 git 是 gogs, 凑合着用搭配了 drone. 普通的 vue + nginx 跑起来了, nuxt / next 这种需要 pm2/npm run start 的, 还没研究通怎么跑. 网上各种方案都是 ssh 插件来跑脚本启动镜像 /pm2, 但是哪有人开 root 账号密码登录啊...真是有毒 gitlab / jenkin 也有看过. 前公司是这套方案, 但是挺吃内存的, 而且还得 Java 环境, 我一个前端仔根本 hold 不住呀, 没眼看了. |
![]() | 12 ziwen1943 2023-03-21 10:18:01 +08:00 可以用 gitlab-CI 资源占用小,和 gitlab 深度嵌合,配置发布码化,很高效,适合中小团队 |
![]() | 13 wu67 2023-03-21 10:19:30 +08:00 还有个问题就是据说 gitlab 升级爆炸会很难搞...在没有专业服务器运维人员的情况下, 这也是我不敢选用 gitlab 的原因. 要是我自己的机器我就随便折腾了... |
![]() | 14 atkd 2023-03-21 10:24:24 +08:00 jenkins+1 |
15 yagamil 2023-03-21 10:27:39 +08:00 小团队应该用不上 k8s 吧? |
![]() | 16 version 2023-03-21 10:30:29 +08:00 ![]() 没运维的...本地写脚本就好... 如果你牵头搞 cicd..个个都无限 debug 提交 git-.镜像就崩了..到时候 go 依赖拉不下来.npm 拉不下来.就找你了.因为他会说它不懂这个..这个是运维干得.太复杂.学不来.不想学. 提交代码.本地执行远程 ssh 命令.. 前端本地 nodejs 脚本部署..提交 html 到服务器..其它丢 cdn |
![]() | 17 106npo 2023-03-21 10:30:32 +08:00 via Android 感觉你们这需求 用 git hook 触发 git pull 就足够了 |
18 wxdiy 2023-03-21 10:30:34 +08:00 服务器不多,变化不频繁,直接 spug 吧,小巧好用 |
19 mr0joker 2023-03-21 10:41:12 +08:00 阿里云的云效做代码托管 + jenkins + k8s |
![]() |   20 Dream95 2023-03-21 10:42:30 +08:00 如果公司代码本身就是用 gitlab 管理的化,那比较适合用 gitlab-ci. |
21 Cruzz 2023-03-21 10:44:03 +08:00 小公司还不简单,gitlab+jenkins+docker 就可以了。k8 没必要 |
22 bitmin 2023-03-21 10:44:03 +08:00 jenkins ,用的人多,教程多,配置很简单。 我在的迷你公司 java 项目、前端项目都扔在上面部署。 这点资源消耗,公司不会多花一眼去在意。 |
23 aeli 2023-03-21 10:44:10 +08:00 github action 就足够了。 |
24 optional 2023-03-21 10:49:46 +08:00 via iPhone 直接上,gitops |
25 hb0730 2023-03-21 10:51:26 +08:00 gitea+drone+aliyun 私有仓库+docker compose |
![]() | 26 marksaas 2023-03-21 10:52:58 +08:00 小团队还是半自动化部署吧,节省不少服务器资源,让 chatgpt 写个自动化部署脚本,每次就登录执行下也很方便 |
![]() | 27 vaeceby2 2023-03-21 10:53:23 +08:00 ![]() gogs/gitea + drone 就行了 k8s 没必要 docker swarm 完全够了 |
![]() | 28 kqq19930511 2023-03-21 10:54:39 +08:00 内网部署的 gogs + jenkins + nexus |
29 Illusionary 2023-03-21 10:57:37 +08:00 请个运维 |
30 dnsjia 2023-03-21 11:02:19 +08:00 |
![]() | 31 perfectlife 2023-03-21 11:07:54 +08:00 @wu67 不太认同升级爆炸,rpm 安装的 gitlab 一般升级直接 update 就行了,跨版本升级按 gitlab 文档里的升级路线图 update 就行,别用容器安装,安逸得很 |
![]() | 32 perfectlife 2023-03-21 11:08:53 +08:00 既有云上 ecs 又有本地机房,没个运维 不太合适,背锅都没人背,请个运维多好,还能增加就业岗位 |
![]() | 33 anubu 2023-03-21 11:14:16 +08:00 ![]() 中小公司 gitlab 一个就够了,基本涵盖了研发管理全周期了。没有 gitlab 还好说,有 gitlab 还要使用 Jenkins 的,真的有点舍近求远了,除非是有特殊场景。部署目标就常见的 ssh 、docker remote 、k8s api 基本都够用了。 |
34 WindProtect 2023-03-21 11:15:43 +08:00 我们现在是 git 特定分支 hooks 触发 jenkins 启动流水线打包成 docker 镜像,然后 docker compose 启动。 但我觉得如果自己搭的 gitlab 的话,gitlab ci 更简单。 遇到问题是我们项目是 monorepo ,每次改点代码都会全部服务都给重新打包一次,暂时没想到什么好的方法。 |
![]() | 35 yushiro 2023-03-21 11:17:40 +08:00 via iPhone @wu67 升级按照官方的推荐路径来就行,在公司内网部署了快 4 年的 gitlab 了,从没升级出问题过。 别想当然的直接升级到最新版,必须按照特定的节点一步一步升级。 |
![]() | 36 Sayommy 2023-03-21 11:19:17 +08:00 1 、如果本地机房能开放外网权限,就统一用阿里云效的 flow ,最简单,资源能弹性、依赖包镜像缓存啥都给你做好了。云效的 flow 是可以调度非阿里云的服务器和 k8s 集群的。 2 、公司找台不用的电脑装个 jenkins ,或者其他的开源方案选一个,都能跑。 |
![]() | 37 6IbA2bj5ip3tK49j 2023-03-21 11:22:57 +08:00 drone |
![]() | 38 everyx 2023-03-21 11:27:30 +08:00 github ci + ansible + docker swarm |
![]() | 39 xuanbg 2023-03-21 11:35:24 +08:00 jenkins + docker 足矣 |
![]() | 40 james2013 2023-03-21 11:36:06 +08:00 java 后台和前端 私有 gitlab,Jenkins,k8s |
![]() | 41 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 了。 |
![]() | 42 taoge0224 2023-03-21 11:44:41 +08:00 via Android 需要技术支持不 |
43 isnullstring 2023-03-21 11:47:40 +08:00 @wu67 很容易啊,apt-get update &upgrade 就完事了,官方好像推荐直接使用源安装,这样容易升级 |
![]() | 44 QKgf555H87Fp0cth 2023-03-21 11:48:40 +08:00 drone |
![]() | 45 nijux 2023-03-21 11:49:58 +08:00 如果用到 Gitlab 并且在外网访问,请关注安全新闻,经常看到 Gitlab 的漏洞新闻 |
![]() | 46 dreamramon 2023-03-21 11:59:27 +08:00 github action 里面,直接指定 tag ,然后自动部署。。。 |
![]() | 47 rockxsj 2023-03-21 12:05:55 +08:00 drone |
![]() | 48 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 |
![]() | 49 noparking188 2023-03-21 12:34:44 +08:00 服务跑在什么上面的,有没有用容器啊 |
![]() | 50 swulling 2023-03-21 12:35:55 +08:00 via iPhone 小公司直接 git ops 就完了,至于 pipeline 用什么都可以。gitlab ci ,jenkins 等等,没啥大的区别。 |
51 M003 2023-03-21 13:08:03 +08:00 都用阿里云了,顺便用下他们的云效吧. master 修改触发, 我直接就是 git pull .最近在学 docker. |
52 caotian 2023-03-21 13:14:05 +08:00 用了一圈 gitlab, drone, gitea, 还是喜欢 github 和 action 里, 最终找了个那个啥的 github 企业版本的部署在内网, 跟 github 使用几乎没区别 |
![]() | 53 ZoeyZ 2023-03-21 13:14:56 +08:00 gitlab ci + argoCD |
![]() | 54 ktqFDx9m2Bvfq3y4 2023-03-21 13:20:18 +08:00 via iPhone 那些使用 GitHub action 的建议看看 Azure DevOps 。我就是从 Jenkins 到 GitHub Action 再到 ADO 的。 |
![]() | 55 fivesmallq 2023-03-21 13:27:38 +08:00 @Chad0000 Azure DevOps 对比 Github Action 的优势是啥?不知道免费额度咋样。 |
![]() | 56 clemente0620 2023-03-21 13:28:59 +08:00 ![]() @swulling 区别蛮大的 灵活性上面 |
![]() | 57 ktqFDx9m2Bvfq3y4 2023-03-21 13:32:05 +08:00 via iPhone @fivesmallq 免费额度一样。ADO build 和 release 是分开的,方便你发布历史版本。ADO build 出来的东西存储不计费,比如你 build docker image 存起来,发布的时候再 push 。第三方插件比较多,可视化做得比较好。相比之下 GitHub action 就像半成品。 |
![]() | 58 Tonyski 2023-03-21 13:41:53 +08:00 前端直接上 github + vercel |
59 zzzzzzZ 2023-03-21 13:43:22 +08:00 你是想要《 Rainbond 》这种无脑方案,但是 rainbond 不好用,适合不懂开发的运维 但是我更加推荐,也是楼上一致的方案: 自己的 git 库+Jenkins+制品仓库( Harbor 或者云服务制品库)+k8s/云容器服务 粗学上手一套其实也不难,远比用 rainbond 带来的隐患轻松多了 定制性更佳、更灵活、私密、功能健全,秒杀 rainbond 这种无脑方案 |
![]() | 60 remember5 2023-03-21 13:46:01 +08:00 gitlab-ci 比较贴切 gitlab |
61 devHang 2023-03-21 13:51:06 +08:00 腾讯的 coding 比 Jenkins 更友好一些,门槛也更低 |
![]() | 62 NoString 2023-03-21 13:57:20 +08:00 我们也 ECS TeamCity 一把梭 |
![]() | 63 Guidoo 2023-03-21 14:01:50 +08:00 没人用 TeamCity 吗 ??? |
![]() | 64 gongquanlin 2023-03-21 14:05:38 +08:00 ![]() drone ci + gitea + docker 香的一批,drone 和 gitea 也是 go 开发的,drone + gitea 全部 docker 部署,内存占用非常低,自动部署 docker 容器,香的一批 |
![]() | 65 simo 2023-03-21 14:05:49 +08:00 3 5 个人,完全可以 docker 部署 gitlab pipeline 跑;还有其他类型任务要跑,可以上 gitlab + jenkins 。 |
![]() | 66 draguo 2023-03-21 14:23:32 +08:00 阿里云直接云效很好用,没有运维成本,小团队不推荐 jk |
![]() | 67 defunct9 2023-03-21 14:43:14 +08:00 外包给我就好 |
![]() | 68 tedzhou1221 2023-03-21 14:47:26 +08:00 coding |
![]() | 69 mianju 2023-03-21 14:51:29 +08:00 github + dokku, 单机还能部署 grafana 、db 各种服务 |
70 hb0730 2023-03-21 15:13:22 +08:00 @gongquanlin gitea 好像要出 actions 了,最后连 drone 都去掉,貌似和 github action 差不多 |
![]() | 71 Nazz 2023-03-21 15:13:27 +08:00 小公司的话, 使用 ssh 远程执行命令, 自己编个脚本 make deploy 一键发布 |
72 eDeeraiD0thei6Oh 2023-03-21 15:22:56 +08:00 能用 Github Actions 就用吧。如果不需要太多的 build 只是 deploy 文件用 Jenkins 也可以。 @Nazz 自动化部署可能是和 git 相关的,除非他们用自己的 git repo server |
73 alsas 2023-03-21 15:36:19 +08:00 spug 没人用??? |
![]() | 74 feelinglucky 2023-03-21 15:37:47 +08:00 gitea + drone 这个搭配已经很多年了,感觉也还行 |
![]() | 75 18601294989 2023-03-21 15:38:52 +08:00 ![]() 千万别选 jenkins 就行 太难用 |
76 zed1018 2023-03-21 15:39:08 +08:00 推荐 fluxcd |
![]() | 77 zhhqiang 2023-03-21 15:40:29 +08:00 jenkins 触发 git pull |
78 xiaocaiji111 2023-03-21 15:53:02 +08:00 腾讯云 coding ,一直在用,免费版限制构建分钟数,可以使用自己服务器加个节点。 |
![]() | 79 ppgs8903 2023-03-21 15:55:03 +08:00 没钱别做 jenkins ,直接 gitlib ci & github ci 。 |
![]() | 80 OutOfMemoryError 2023-03-21 15:57:41 +08:00 我们是 gitlab 的 gitlab ci 实现的 |
![]() | 81 clf 2023-03-21 15:58:02 +08:00 gitlab all in one ,项目管理+CI/CD 都在上面了。 |
82 Suomea 2023-03-21 16:35:56 +08:00 gitea:代码存储、镜像仓库、jar 包仓库 jenkins + buildkit + containerd + kubectl:构建 + 发布 k8s + containerd:运行服务 |
![]() | 83 tramm 2023-03-21 16:36:06 +08:00 gitea + drone |
![]() | 84 moreant 2023-03-21 16:50:33 +08:00 我投 TeamCity 一票 |
![]() | 85 hahahahahahahah 2023-03-21 17:02:48 +08:00 via iPhone 兼职运维需不需要,给你们搭建 Jenkins ,再写个 pipeline |
![]() | 86 ropon 2023-03-21 17:08:18 +08:00 jenkins k8s api ,最好能上套运维平台兼容自建机房 |
87 msareposar 2023-03-21 17:09:14 +08:00 直接 github action self-host 完事儿 |
88 hoopan 2023-03-21 17:11:12 +08:00 Jenkins ,我的个人项目也用这个部署 |
![]() | 89 yekern 2023-03-21 17:20:22 +08:00 开始我们也是搞各种运维 自动化部署, 团队太小 只有几个人 根本没有精力弄这些 如果爆炸更难弄. 所以就最简单的 webhook git pull 省时省力省心 |
90 yinmin 2023-03-21 17:30:27 +08:00 写一个 sh 文件,使用 rsync+ssh 同步到各个服务器,例如: run.sh ================= rsync -azvP /home/code [email protected]:/home/code ssh [email protected] docker restart mycode rsync -azvP /home/code [email protected]:/home/code ssh [email protected] docker restart mycode rsync -azvP /home/code [email protected]:/home/code ssh [email protected] docker restart mycode 运行 sh 文件即可。 |
91 tairan2006 2023-03-21 17:55:35 +08:00 最简单的:写个脚本 次之:gitlab cicd 集成 再次:Jenkins |
92 ZhaoUncle 2023-03-21 17:56:18 +08:00 gitea+drone |
93 aaronkk 2023-03-21 17:59:23 +08:00 github 的 action ,gitlib 的 ci ,本身就集成了 CI/CD 功能。 上面看到有说项目管理也放在 gitlab ,等时间长了那会太臃肿,每天的备份都特别大,回头还要考虑瘦身。 |
94 Jemini 2023-03-21 18:06:18 +08:00 drone + github |
95 yyttrr 2023-03-21 18:13:27 +08:00 gitlab-ci 吧很方便 可以看看 ACK 托管集群,弹性的幅度很大考虑一下 ASK ,不过这些都是很后期的事情了 |
96 xinshoushanglu 2023-03-21 18:36:48 +08:00 jenkins 用起来 |
![]() | 97 gongquanlin 2023-03-21 18:53:22 +08:00 @hb0730 那真是更香的一批了 |
![]() | 98 opengg 2023-03-21 18:55:52 +08:00 gitea actions |
99 jeizas 2023-03-21 20:01:47 +08:00 via iPhone k8s |
![]() | 100 hzxxx 2023-03-21 20:15:33 +08:00 用 gitlab 的 CICD 吧,或者用 gitlab hook 自己写个小脚本触发流程 |