总之是要切到 Git 代码管理了,现在准备把 CI/CD 之类也一并上了。
目前已知有以下技术,求其他技术方案供参考,谢谢:
GitLab 、Gogs 、CodeFever Jenkins 、TeamCity
要求是私有化部署,花钱可以。
如果能推荐的同时给出一点点理由就更好啦。
谢谢!
感谢大家的推荐,汇总下截止目前大家的推荐与问题;
最后还是决定只在 Docker 上跑 GitLab,其他的就后面有明确需求再说。
主要是确实项目虽大但不多,也没有明确的运维来做 CI/CD,所以暂时把精力先放在转移到 GitLab 上,后期慢慢调整。
说真的,我也很懵逼,中午吃完饭回来突然就聊到了这个话题,就连午休都省了,聊了半天 svn 规范相关的话题, 至于同意更换的原因,估计一个是我们两个人力推,而且在参照git-flow流程去规范svn使用时确实只是能实现但别扭的问题。
同意几位的说法,公司资源,不要去精简需求,考虑未来扩展性,GitLab 似乎是不二之选,直接起 EE,如有需求可购买授权。
至于其他云平台的,涉及保密问题,私有化部署是硬需求,感谢大家的推荐。
如有新场景亦可推荐,希望可以作为后来者的指路牌吧。
|      1Cbdy      2022-02-23 14:28:00 +08:00 via Android 用着 GitHub 企业版,感觉还行 | 
|  |      2magua      2022-02-23 14:28:19 +08:00 | 
|  |      4wolfie      2022-02-23 14:32:44 +08:00 Jenkins 学习简单点。 | 
|  |      5snoopyhai      2022-02-23 14:32:57 +08:00  3 | 
|      6guozozo      2022-02-23 14:34:44 +08:00 gerrit:code review jenkins:连接 Gerrit ,自动跑编译和单元测试 gitlab:gerrit 合并代码后,自动推送到 gitlab ,保存代码。 | 
|  |      7ysicing      2022-02-23 14:46:48 +08:00  1 在用 gitea+drone | 
|  |      8statement      2022-02-23 14:51:36 +08:00 说实话大头兵 svn 用着多爽 | 
|      9Mithril      2022-02-23 14:54:10 +08:00 如果 TeamCity 能满足需求那就 TeamCity ,不然就 Jenkins 。TeamCity 是按 BuildAgent 收费的,如果你们有很多项目,最好还是 Jenkins 。 Jenkins 问题就是插件多数都是第三方个人维护的,很多插件的开发和维护不是很稳定。你要是项目规模大,Jenkins 上项目多,用的插件多,最后就会发现被锁死在某个版本上了。更新的话一堆插件用不了,不更新的话想要的新插件和功能用不上。 | 
|  |      10tilv37      2022-02-23 15:09:05 +08:00 如果不是非要私有化部署的话,其实 Azure DevOps 蛮好用的,一整套解决方案 | 
|  |      11timethinker      2022-02-23 15:13:33 +08:00  2 gitlab 自带的 CI/CD 已经可以满足绝大多数的需求了吧,内存占用确实比较大的,不过可以调整参数,关掉某些没用的模块。 | 
|  |      12jucelin      2022-02-23 15:16:37 +08:00 gitlab 也提供国内服务了 https://gitlab.cn/ 除了看托管服务,也要看周边配套服务、或者第三方教程 | 
|      13S2Line      2022-02-23 15:17:20 +08:00 gitlab 代码仓库+Jenkins 做 CI/CD | 
|      14sunny352787      2022-02-23 15:28:49 +08:00  1 目前用 Gitlab 搞定代码管理、代码审核、CI/CD 的全部功能,足够了 至于说 Gitlab 占资源大的事,又不是家里用,公司单开一台机器跑能卡到哪里去 | 
|  |      15balabalaguguji      2022-02-23 15:35:08 +08:00 需要 SVN 的话,可以看下我的 SVNBucket: https://svnbucket.com 支持私有化部署,成员添加、权限配置、钩子设置,都是 web 上可视化操作 | 
|      16jiom      2022-02-23 15:35:47 +08:00 目前是 Gitlab+jenkins,基本上都上 docker 一键部署了. | 
|      17ppphp      2022-02-23 15:38:56 +08:00 gitlab-ci 就行 | 
|      18bthulu      2022-02-23 15:40:09 +08:00 https://coding.net/一条龙, 国内服务器, 访问速度飞起, 你值得拥有 | 
|  |      19cyrbuzz      2022-02-23 15:40:52 +08:00 gitea + drone 轻量级就完事了。 | 
|  |      20ysc3839      2022-02-23 15:41:17 +08:00 via Android Gitea+Drone 吧 | 
|  |      21locoz      2022-02-23 15:47:13 +08:00 gitlab 全家桶挺好用的,资源占用也就那样,没啥好纠结的 | 
|  |      22Breadth      2022-02-23 15:47:40 +08:00 个人使用 Gitea+Drone  问题不大,团队的话还是 Gitlab 全家桶吧,不要因为占资源就去精简需求,企业场景机器才占几个钱。 | 
|  |      23clf      2022-02-23 15:47:55 +08:00 我们是 gitlab ee ,然后 ci 用的 gitlab-ci ,gitlab 的项目管理功能很方便,ci 的话功能也算是足够使用了。 ci 运行的服务器可以和 gitlab 不在一个服务器上。 私有化部署最蛋疼的就是带宽问题。 | 
|      24sxfscool      2022-02-23 15:48:13 +08:00 用 gitlab ,ci 也用 gitlab 的就行 | 
|  |      25way2explore2      2022-02-23 15:49:59 +08:00 | 
|  |      26way2explore2      2022-02-23 15:50:43 +08:00 好奇问下楼主,怎么说服的,我这里各种技术问题,不知道怎么说服领导做变更 | 
|      27joesonw      2022-02-23 15:50:44 +08:00 都上 Gitlab 了, 没什么不直接用 Gitlab CI. Jenkins 更适合做手动 Deploy 的部分. | 
|  |      28spacebound      2022-02-23 15:50:54 +08:00 目前是 Gitlab+jenkins ,自动化发布了 | 
|      29bitllion      2022-02-23 15:56:29 +08:00 建议用 gogs 这类轻量代码托管平台,之前我们团队 10~20 人也在用 gitlab ,但 gitlab 时常宕机,查了下是有多少内存( 64G 64c 机器)就吃多少内存,系统就崩了... 既然都用 jenkins 做 CI/CD 了,不用 gitlab 提供的 gitlab-runner 了,那为何不用只占几百兆的 gogs ,其实正常来讲,gitlab 需要一个专门的 devops 团队来维护,gogs 就不用了,docker 一键部署(虽然 gitlab 也是),但部署更快,启动更快,相应更快 | 
|      30brader      2022-02-23 15:56:39 +08:00 没有做集群的话,直接用定时任务拉 git 代码。。。我就是这么流氓的用了 2 年,没出啥错 | 
|      31march1993      2022-02-23 15:56:49 +08:00 gitea 最方便 | 
|      32Rwing      2022-02-23 16:01:40 +08:00 gitlab 毫无疑问是这些里的 No.1 ,而且自带 CICD | 
|  |      33Bijiabo      2022-02-23 16:09:50 +08:00 推荐 GitLab 全家桶,比如可以 GitLab + Confluence ,团队内部不止要做好代码开发,内部开发文档可以一整套搞起来。 | 
|  |      346IbA2bj5ip3tK49j      2022-02-23 16:13:08 +08:00 gitea + drone kiss ,gitlab 那种全家桶我就喜欢不起来。 | 
|  |      35defunct9      2022-02-23 16:14:55 +08:00 推荐本论坛一个坛友的作品:onedev 。 阿里云效、Gitlab 、jenkins 都用过。 感觉这个 onedev 适合 | 
|  |      36ethsol      2022-02-23 16:28:00 +08:00 gitlab 自带的 ci/cd 还行,不用非要加个 jenkins | 
|  |      37huangzxx      2022-02-23 16:40:33 +08:00 gitlab-ci 本身就很强大 | 
|  |      38caixiaomao      2022-02-23 16:40:51 +08:00 个人 Gitea+Drone ,挺好用的 | 
|  |      39orcinus      2022-02-23 16:41:53 +08:00 onedev +1 ,部署很方便 | 
|      40461da73c      2022-02-23 16:44:01 +08:00 gerrit + jenkins | 
|      41wineast      2022-02-23 16:46:27 +08:00 同时开发过 gitlab 和 jenkins 的 CICD ,主要是 pipeline 方面,说下对比 如果公司规模不大,没有特别多的运维资源,gitlab 是比较好的选择,快速上手,但是功能比较一般,高阶功能不适合,但是基本的部署,打包,代码扫描,都可以整合完成。现在就是这个方案 如果有专人做运维,也比较有空做些 CICD 开发,jenkins 是好的选择,功能齐全,但是相比较 gitlab ,稍微有点学习曲线 做个不恰当的比喻,jenkins 好比 c++,内存需要自己来进行管理,gitlab 好比 java ,内存管理都扔给系统做,你只需要关注业务即可 PS:一开始用 gitlab 开发 pipeline 的时候很不习惯,每进入一个新的节点,之前节点里保存在 workspace 里的所有东西都会被清空,我还特地去吐槽,后来在 gitlab 官网有篇文章专门讲了设计的思路,和 jenkins 中心化的思路完全不同,也算慢慢理解了 gitlab 为啥这样设计 | 
|      42chenexe      2022-02-23 16:47:13 +08:00 coding 用着还行 | 
|      43Goooler      2022-02-23 16:51:27 +08:00 Github 企业版,GitHub  配套的 CI/CI, issue , PR, project, release 什么的都是用起来最舒服的。 | 
|  |      44RedisMasterNode      2022-02-23 16:54:46 +08:00 复制楼上这句,Github 企业版,GitHub 配套的 CI/CI, issue , PR, project, release 什么的都是用起来最舒服的。 表示真的很好用,而且 Github 配套的插件也很多,如果你们想在 GH 上做 code review ,也很好用!! | 
|  |      45yhxx      2022-02-23 16:55:06 +08:00  1 | 
|  |      46mritd      2022-02-23 16:55:58 +08:00 GitLab + GitLab CI 一把梭 | 
|      47fan123199      2022-02-23 17:22:07 +08:00 目前在用 gitea+jenkins ,其实觉得 jenkins 有点老旧了。gitea 倒是很轻量很喜欢。 | 
|      48ShareDuck      2022-02-23 17:26:51 +08:00 @tilv37 Azure DevOps 有私有化部署的版本,就叫 Azure DevOps Server 。好用,但贵。 | 
|  |      49linuxsuren      2022-02-23 17:29:12 +08:00 | 
|      50cryboy007      2022-02-23 17:48:14 +08:00 目前我们公司是:gitlab+harbor+jenkins+rancher | 
|      51Huelse      2022-02-23 17:48:49 +08:00 | 
|  |      52feather12315      2022-02-23 18:12:53 +08:00 via Android 推荐 onedev ,不推荐 gitee/gogs ,功能太弱 | 
|      53forgottencoast      2022-02-23 19:28:38 +08:00 没人说 Atlassian 全家桶?因为收费吗? 我以前公司用全家桶(文档、缺陷跟踪、代码托管、测试环境做到了 CI/CD ),用起来挺顺手的,50 个开发人员的团队规模。 | 
|  |      54andrewDDC      2022-02-23 19:42:41 +08:00 gitlab | 
|  |      55muyangren      2022-02-23 19:57:48 +08:00  2 可以参考下           | 
|  |      56G2bN4dbX9J3ncp0r      2022-02-23 19:58:56 +08:00 Gogs 就算了 Gitlab 走起 | 
|  |      57tylinux      2022-02-23 20:02:43 +08:00 Gitlab + Gitlab-runner ,都公司了,不查这点计算资源,我家里都跑着一套 | 
|  |      58LifStge      2022-02-23 20:24:07 +08:00 反正我是感觉 gitlab 团队使用比较适合了  本身自带的 ci/cd 也是可以的 虽然跟其他相比 各有优劣 不过 就是哪个合适就用哪个 到时候也可以针对项目使用 drone jenkins 等 其实吧 对于私有部署的 不管哪个 git 也都大同小异 功能上的差异问题 有些为了精简 像 gitlab 更注重的功能 各自取舍吧 自己私有部署 先就新的小项目 搭起来 选一个 选多个 各自测试下 都跑下流程 踩踩坑 看看是否适合自己的需求 然后再定吧 慢慢熟悉功能 慢慢积累 或者是再找比较精通的运维来把新环境搭起来 一定得比较熟悉的能处理未知问题的 比较关键的还是看公司运维方面的问题. 弱弱的提醒下 OP 新环境测试 一定要多备份 多备份!!!!!! 毕竟出了问题 很多时候 不需要费时找问题所在 直接重搭 恢复备份 也是比较快捷的方案 看公司情况 如果能接受云的话 其实付费的 私有仓库 云上的 DevOps 也是很好的选择啊 毕竟这方面运维方面的问题就不用太担心了 功能上也不需要担心 肯定更丰富 | 
|  |      59gamexg      2022-02-23 21:15:04 +08:00 企业,硬件性能足够不推荐 gogs , gogs 兴起大概一年的时候,我试用过,结果碰到新建 issue 带图片就 500 . 而且当时 CI 需要另外使用 Drone 。 后台自用都换成了 github , 虽然吃配置,但是该有的功能都有,省心。 | 
|      60Hstar      2022-02-23 21:18:52 +08:00 为什么没人提 bitbucket ,和 jira 配合使用真的很流畅,也和 gitlab 一样自带一个 cicd ,我觉得对于小型初创团队来说是起步代价最小的选择之一 | 
|      61lidlesseye11      2022-02-23 21:43:58 +08:00 还有 gitbucket | 
|      62mmmfj      2022-02-23 21:51:11 +08:00 直接请个运维搞云服务吧 | 
|  |      63skiy      2022-02-23 23:33:08 +08:00 明显 GitLab 了。GitLab Runner 用得非常爽。 社区版的可以参考 gitcode ,它家就是用 CE 。 | 
|      64c4fun      2022-02-23 23:52:21 +08:00 愿意出钱的话,gitlab 的商业版本还有服务。感觉这种还比较省心,有问题可以尽快招人解决。 | 
|  |      65villivateur      2022-02-24 08:41:34 +08:00 Gitea 的话,感觉他的 LFS 功能有缺陷,有的时候下载 LFS 文件会报 404 | 
|      66liyg04120414      2022-02-24 09:32:42 +08:00 coding 目前用的挺好或者 gitlab 私有化部署 | 
|      67missdeer      2022-02-24 09:43:43 +08:00 我们这里小团队私有化部署 Gitlab+Jenkins ,感觉不错,就是要自己会折腾一下,写点脚本 | 
|  |      68feelinglucky      2022-02-24 09:48:40 +08:00 目前我们小团队正在使用 gitea + drone ,已经稳定运行快两年了,问题不大供参考 | 
|  |      69lunny      2022-02-24 09:50:36 +08:00 Gitea 创始人在这里强烈推荐用 Gitea ,主要原因如下: 1 )易安装和易维护,只有一个 exe ,Windows 都能够安装。升级也只要替换 exe 即可,基本上免运维。 2 )除了资源占用低,性能比 GitLab 好太多,请参见 GitLab 自己的官方比较文档 https://about.gitlab.com/devops-tools/gitea-vs-gitlab/,里面记载了 Gitea 的平均页面加载速度低于 700ms ,而 Gitlab 超过 2 秒 3 )在代码管理和协作这块其实功能比 GitLab-CE 要强很多 4 )和 jenkins ,droneci ,几乎所有的工单系统均能够进行集成 5 )客户端 fork ,sourcetree ,移动客户端 workingcopy ,gitnex 等均支持 Gitea 6 ) Gitea 作为国人创始的项目,技术支持上会比 GitLab-CE 有很多的优势。有问题请加官方 QQ 群:328432459 | 
|  |      70Uplay      2022-02-24 09:56:14 +08:00 我们公司就是用的 gitlab CI/CD 感觉还行,就是内存占用有点大 | 
|      73wengych      2022-02-24 10:16:40 +08:00 gitlab 全家桶即可,gitlab 有 cicd ,不需要再引入一个臃肿的 Jenkins 。 | 
|      74WispZhan      2022-02-24 10:21:02 +08:00 via Android drone 不成熟,都打算 gitlab ee 了,直接 gitlab ci 呗 | 
|      75knives      2022-02-24 10:35:20 +08:00 小公司,一直用的 gitea + drone 的组合。 gitea 除了在组织管理方面不大满意(比如没有组织级别的工单,当然这个 github 也没有),其它没有什么不满的地方。 drone 运维功能比较残缺,出问题只能想办法各种查日志外,算是能用;基于容器的插件可以说是相当灵活了,有什么不足也可以自己撸一个也不算困难。 | 
|  |      76sdushn      2022-02-24 10:41:33 +08:00 gitlab 免费版也可以的,可以自己再自定义流水线与 mr 关联,后面慢慢建设呗,也可以看看 coding 一条龙服务 | 
|      77sampeng      2022-02-24 11:09:28 +08:00 几个建议。。 1.不要一口气吃成一个大胖子。先切 git ,完善提交 review 的流程。别想着直接上 CI/CD ,这属于自嗨,做好了大家都好,做坏了,锅与你常在。 2.不要用 git-flow 流程。这是实话实说,这玩意是看着美好,会把简单事情复杂化,除非你有几十上百个人在一个项目里提交。每个团队应该有适合自己的 workflow 。 | 
|  |      78mingl0280      2022-02-24 12:01:27 +08:00 via Android 其实,你先自建一套 git (这个不需要 git 外的任何软件),然后再考虑 web 用啥比较好。 | 
|      79Huelse      2022-02-24 12:44:31 +08:00 经验告诉我 gitlab 的 CI/CD 并不好用,有这个计划的最好考虑下别的 | 
|  |      80liyhu      2022-02-24 12:47:33 +08:00 说个锤,直接 gitlab 做 ci/cd ,冲冲冲 | 
|  |      81kongkongyzt      2022-02-24 13:16:45 +08:00 Coding 就挺好用的, 目前我们 BG 收购了 Coding 后也在内部大范围推广, 使用后的体验还不错 | 
|  |      82filtrate      2022-02-24 13:24:07 +08:00 看你们的需求喽,其实选择不多的。工作流可以复用甚至完全一致的项目比较多,可以考虑 Gerrit + Jenkins 的方案。各自配置的话用什么都行 | 
|  |      83wanguorui123      2022-02-24 15:58:52 +08:00 公司还是用 gitlab 吧 | 
|  |      84NJAllen      2022-02-24 16:44:20 +08:00  1 @forgottencoast 我们公司上万人也是全家桶,各平台的交互很好。用起来还不错,就是印度人来管理。管理人员比较操蛋。 | 
|      85Jinkeup      2022-02-24 16:50:56 +08:00 看到用 Docker 了,可以尝试 Gitlab+Jenkins+Docker+Harbor 用一下还是不错的,对代码和 images 都会有着不错的管理作用 | 
|  |      86ThanksSirAlex      2022-02-24 17:35:52 +08:00 cicd 不是很复杂的话 gitlab-ci 就完事了 | 
|      87duke807      2022-02-24 17:40:36 +08:00 via Android 十年前我讓公司從 svn 切到 git 我當時剛入職沒多久,本身也是剛畢業沒多久 公司用 svn ,我懶得學 svn ,先用 git-svn 頂了一段時間 | 
|  |      88lovedebug      2022-02-24 17:41:40 +08:00 说实话强烈建议选企业版的 github 或者 gitlab ,自建更新,出问题是很累的,能花钱解决的还是花钱吧 | 
|  |      89cheng6563      2022-02-24 17:52:44 +08:00 jenkins 就是个大胶水,基本啥都能黏上。 | 
|  |      90rb6221      2022-02-24 18:13:32 +08:00 git 和 ci/cd 是两码事,Jenkins 可以直接上 git 的界面系统看你需求了,没有很复杂的 review 等等东西随便弄一个轻量级的都可以,后期有需求了可以再换别的系统。 | 
|      91forgottencoast      2022-02-24 20:42:47 +08:00 @NJAllen 我觉得 Atlassian 家的 UI 比较好看,插件市场上的插件也很丰富。 | 
|  |      92qfdk PRO gitlab-ce 刚升级完 还有 jenkins 别用 docker 要不然溶气炸了 你都不好升级 | 
|      94a567      2022-02-25 11:24:44 +08:00  1 数据库管理工具可以看下 Bytebase ,跟 Gitlab 集成蛮好的 | 
|      95aguesuka      2022-02-25 11:27:42 +08:00 2022 年只用 Gitlab 就可以了, 真么必要用 gerrit 和 jenkins. | 
|  |      96muyangren      2022-04-06 17:39:16 +08:00 @joyhub2140 #93 留个联系方式我发你 | 
|      98twistedmeadows      2022-07-05 10:31:58 +08:00 Jenkins 真的可以淘汰了,直接用 Gitlab CI Runner 就可以了 |