极狐GitLab 是 GitLab 在中国的发行版,专门面向中国程序员和企业提供企业级一体化 DevOps 平台,用来帮助用户实现需求管理、源代码托管、CI/CD、安全合规,而且所有的操作都是在一个平台上进行,省事省心省钱。可以一键安装极狐GitLab,详情可以参考极狐GitLab 下载安装官网。
GitLab 中文版学习资料
- 驭码CodeRider 官网:https://coderider.gitlab.cn/
- GitLab 中文版官网:https://gitlab.cn
- GitLab 中文文档:https://docs.gitlab.cn
- GitLab 中文下载安装:https://gitlab.cn/install
关联阅读
- 「行话」| 用DevOps高效交付游戏,是种什么体验?
- 途游游戏 DevOps 实践|都说「单元测试」好,「AAAC四步法」少不了
- 这份攻略帮助你分分钟构建出“幻兽帕鲁游戏”极致体验【上】
- 这份攻略帮助你分分钟构建出“幻兽帕鲁游戏”极致体验【下】
让用户等待四年之久的《黑神话:悟空》游戏终于正式上线发售,这是一款基于中国四大名著之一的《西游记》改编的中国神话动作角色扮演游戏,上线之后迅速在各大网络爆火,很多玩家纷纷开始下载开玩,截止到目前,该游戏已经卖出数百万份,收入过亿,而且这一数据还在持续上涨。
该游戏爆火的因素有很多,比如,在题材选择上,以在中国家喻户晓的《西游记》为题材,让是不是游戏玩家的选手都想一探究竟,毕竟很多中国人的春节都是伴随着西游记度过的;此外,该游戏的画面设计异常精美,历时四年打造的精品,据说整个花费都在数亿元,可谓是大手笔的投入。
一款游戏研发的背后是多个部门、多个岗位之间的紧密协作,比如游戏设计师、音效设计师、游戏发行与运营人员以及程序员等。仅从程序员这一岗位来讲,也分不同的角色,需要不同角色间的协作,比如项目经理、研发、测试、运维以及安全人员等。每个角色都会用到不同的工具进行协作,比如项目经理可能习惯用 Jira(不过 Jira 母公司在今年已经完全停止了对于 Jira 私有化服务的支持),研发人员习惯用 IDEVSCode、Esclipse、JetBrains 全家桶等,测试人员用 Jmeter、Selenium 等,运维人员就需要会各种中间件的安装配置,安全人员就需要用各种安全扫描工具对应用程序进行安全扫描(诸如 SAST、DAST 等)。
其中,下面这两个工具在国内的使用率是非常高的:
GitLab
GitLab 作为国内众多程序员和企业选择的源代码托管工具(据称在国内有大约600万程序员、数万家企业在使用极狐GitLab 进行软件研发),因为开源免费、可以私有化部署成为程序员和企业在源代码托管方面的首选。GitLab 的安装部署简单到只需要一台服务器、几个命令就能完成,然后就能将代码托管到 GitLab 的仓库里面,其他人员就可以通过 clone 或者 fork 的方式来进行代码协作了。为了更好的把控代码合入的质量,GitLab 设计了专门的 workflow。具体为:当项目经理提出需求时,需要在 Issue(可以理解为用户故事管理的一种方式)里面写清楚需求的背景、详情等,然后再打上响应的 Label(标签);研发人员在认领到该 Issue 后,就创建一个合并请求(MR,实际上是创建一个开发分支,这地方就很好的用到了 Git 的分支管理),所有的代码变更都在这个合并请求上处理,代码提交以后,可以设置多个代码审核人员对变更代码进行审核,以确保合入代码的质量。当然,这个代码提交之后还有一些自动化检测流程(依赖于 CI/CD,这又是 GitLab 的另外一个重要功能),比如对代码进行测试、安全扫描等,这些报告对代码的合入、持续改进也至关重要。
这种标准化、规范化的 workflow 是提升协作效率(每个人一个分支,互不影响)、提高代码质量(自动化扫描、多人审核)的有效手段。而这也是 GitLab 受国内用户追捧的其中一个因素。当然,发展十多年之后,GitLab 已经从最开始的源代码托管工具发展成了具有项目管理、CI/CD、安全合规等功能的一体化 DevOps 平台,也在 2021年开始发行面向中国用户的极狐GitLab(JH 版本)。
GitLab 中国发行版官网地址:https://dl.gitlab.cn/ckyjig4n
Jenkins
Jenkins 是大家熟知的 CI/CD 工具,和 GitLab 一样也是开源免费的,其独特的插件机制能够提供丰富的功能,只要用户想用到的,都可以去 Jenkins 的插件中心进行搜索(当前插件中心已经有超1000+ 插件),如果没有找到合适的,还可以通过自行构建的方式来完成插件的研发。
这种丰富的插件机制也带来了一个问题,就是有很多插件没有得到很好的维护,版本的更新不及时,容易存在安全问题,而且类似功能的插件有多款,因此在选择上也会比较困难。另外一点,Jenkins 在国内没有原厂服务,如果企业用的过程中出现问题,就只能自行查找资料进行解决。
这些年随着云原生的发展,也涌现出了很多云原生的 CI/CD 工具,比如 tekton、ArgoCD 等。
其他大家常用的工具还有什么,欢迎大家补充!