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