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