怎么搭建自己的gitlab
1.github和gitlab的区别
1.Github、Bitbucket、 GitLab、 Coding的 区别
GitHub 是第一个供“用Git进行版本控制系统的软件开发项目”使用的基于Web的代码托管服务,是目前全球最大的开源社交编程及代码托管网站。GitHub 于 2008 年 4 月 10 日正式上线,除了基本的服务以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。
BitBucket 是 2008 年创建的源代码托管网站,采用 Mercurial 和 Git 作为分布式版本控制系统,同时提供免费账户和商业计划。2010 年被 Atlassian 收购,与 Atlassian 的其他服务(Git GUI SourceTree、HipChat、Cloud9)顺利集成,主要面向慈善企业和企业用户/其主要市场是大型企业。
GitLab 是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的 Git 项目仓库,可通过 Web 界面进行访问公开的或者私人项目。
- Coding
Coding 是一个面向开发者的云端开发平台,目前提供代码托管,运行空间,质量控制,项目管理等功能。此外,还提供社会化协作功能,包含了社交元素,方便开发者进行技术讨论和协作。2016 年 3 月 CODING 宣布收购代码托管平台 GitCafe。也许是目前国内体验最接近 github 的产品。
基本特征
关于这 4 大代码托管服务平台有着各自不同的功能,但也是有一些基础特点,比如:
- 拉取请求
- 代码审查
- 内联编辑
- 问题跟踪
- Markdown支持
- 双向认证
- 高级权限管理
- 托管的静态网页
- 功能丰富的API
- Fork / Clone Repositories
- 代码段
- 第三方集成
欲了解更多的功能和细节,可以直接去 Bitbucket, GitHub, GitLab, Coding相关页面了解。
哪个是开源的服务或产品
在这四家代码托管服务,只有 GitLab 有一个开源代码版本。GitLab 社区版的源代码也开放在他们的网站上。
GitHub 以开源友好而闻名,并且拥有最大数量(19.4M +)的开源项目但其本身不是开源的。
Bitbucket也不是开源的,但在购买托管服务的方案中提供了「产品定制」的功能。
Coding 同样也不是开源的,不过 ,9 月中旬 Coding 宣布开放WebIDE 的源代码。
开源与协作,谁是最优之选
GitHub,GitLab,Bitbucket 和 Coding 都具有「发现」功能。除了 GitLab,每个都提供了「follow」功能。Coding 允许开发者在个人配置文件中添加自定义标签,方便找到其他相同兴趣的开发者。
在协作上,GitHub 是开源协作方面的首当其冲的选择。目前 GitHub 拥有全世界最大数量的公共开源项目,全球顶级科技公司( Google/ Apple/ Facebook/ Twitter/ Microsoft/Alibaba/ Tencent)纷纷加入 GitHub ,全球顶级开源项目(Linux/ Nodejs/ Swift/ Ruby / Docker)都优先选择在 GitHub 上开源,这里还有全球顶级编程大牛贡献代码。这里不仅仅是专业开发人员的交友乐园,也聚集了很多对软件开发感兴趣的人学习。甚至,一个活跃的 GitHub 账号也能成为理想工作的敲门砖。
总结
基于上面的介绍和比较,如果还有不清楚的地方,还可以看下 stackshare 上的 GitHub vs. Bitbucket vs. GitLab 的对比分析.
对于这四大代码仓库托管服务,功能最强大的,性价比最高的,最受欢迎的都不是最好的。在特定情况下,在只有适合自己的才是最好的。那么通过这篇对比,我们也可以得到一些基础的实际的结论:
- 如果你想要一个免费开源的解决方案,GitLab 也许比较吸引人;
- 如果你正在开发一个开源项目想取得更多的关注,那 GitHub 毫无疑问是第一选择;
- 如果你想要免费的私有库,并在使用 Atlassian 的其他产品(例如:Confluence,Jira, SourceTree…),代码托管在 Bitbucket 绝对用起来会很爽;
- 如果你想要免费私有代码仓库,想获得更多的中文支持或正在使用 Coding WebIDE,Coding 明显更适合。
如果这 4 个代码托管服务都不是你所需要的,可以再看看国外的Assembla、CloudForge、gogs ,国内的 code.csdn、git@osc、集盒、TaoCode 等服务。如果你还有其他补充,欢迎评论留言。
flow.ci 是融入了 workflow 机制的持续集成(CI)服务,也可以理解为自动化流程平台,除了集成代码、编译、测试之外,还可以集成常用的工具、灵活自定义流程。1 分钟即可完成开发测试环境搭建,开启第一个 Build。