极狐GitLab VS GitLab

众所周知,GitLab 是全球领先的一体化 DevOps 平台,但是发源于国外的 GitLab 在赋能国内企业发展方面还是存在诸多限制和不便,为了让众多国内用户能感受极致的 GitLab 体验,在 GitLab 与红杉宽带跨境数字产业基金以及高成资本的大力推动下,极狐GitLab成立了。极狐GitLab和 GitLab 美国的协作模式如下:

极狐GitLab依旧基于 GitLab 主干分支开发 (这也是开源产品能够保持长久竞争力的有效手段之一,不分叉),基于 GitLab EE 版本每月持续同步更新,GitLab 源代码会实时同步至极狐(GitLab)在国内的服务器;

源代码新增极狐GitLab目录,主要针对国内用户进行相关功能开发 (开发更贴合中国人习惯、思维的产品)。

一言以蔽之:极狐GitLab和 GitLab 属于同宗同源,秉持开放核心和开源应用的宗旨,极狐GitLab将极力打造更符合中国市场的一体化 DevOps 平台。更多关于极狐GitLab的信息,可以查看极狐GitLab公众号、视频号或者官网。

极狐GitLab不仅仅是代码托管平台

重要的话要说在、写在最前面,而且应该是多遍:GitLab 不仅仅是一个代码托管平台,而且是一个一体化的 DevOps 平台。它是一个平台,关于 DevOps 的,而且最最重要的是它是一体化的。

一体化即覆盖软件开发的整个生命周期 (software development life cycle,SDLC)

不信?先看看 CNCF 持续交付技术雷达。众所周知,持续交付 (Continuous Delivery) 是 DevOps 实践的核心关键能力,也是各个企业或者组织积极推进 DevOps 落地所追求的目标。从技术雷达看,GitLab 赫然在列,而且在 TRIAL 阶段。足以佐证最开始的阐述:GitLab 不仅仅是一个代码托管平台,它还是关于 DevOps 的一个平台,至于是怎样的一个平台,看完下面的内容,相信你会有自己的判断。

极狐GitLab揭秘

极狐GitLab一体化 DevOps 平台提供功能丰富且强大的各种解决方案,覆盖了软件开发从计划阶段到运维监控阶段的全部过程,真正让用户感受到一站式 (one stop shop) 服务的极致体验,下面是极狐GitLab的几大解决方案:

1. 敏捷开发管理

极狐GitLab敏捷开发管理能够将面向功能需求 (用户需求) 文档转换成面向价值的用户故事 (开发人员能看得懂的开发需求),完成了用户需求到开发需求的转换。整个过程都是可视化的,可以清晰的看到用户需求的详尽描述、功能开发的进度跟踪等。对于敏捷项目开发中的各个阶段、各种信息都有详尽描述、可视化的报表,能够很好的为项目开发保驾护航。

此外,极狐GitLab和 Jira、禅道都可以进行深入的集成融合。

2. 代码托管

代码毫无疑问是我们最看重的,也是我们 IT“打工人”在经历 996/007 福报之后的智慧结晶。代码托管也是极狐GitLab最基本的功能之一,分支管理 (branch)、代码审查 (review)、代码合并 (merge) 等都是一应俱全。熟悉 Git 操作的小伙伴可以很快上手极狐GitLab。

3. CI/CD(极狐GitLabRunner)

CI/CD (continuous integration/continuous deployment(delivery)) 是 DevOps 落地实践的两大核心关键能力。甚至有很多企业或者组织认为实现了 CI/CD 就等于落地了 DevOps。可见 CI/CD 的重要性。极狐GitLab同样提供了出色的 CI/CD 功能,比如说只需要简单的配置一下 .gitlab-ci.yml 文件,就可以体验 CI/CD 功能。如下所示,就是一个输出“Hello World”的配置文件示例。(“Hello World 是程序员认知世界万物的开始)

  job:
    script:
      - echo "Hello World, This is GitLab"
  向右滑动查看完整代码

当然,CI/CD 的使用要从托管项目的实际出发,书写并调试正确的配置文件。

极狐GitLab Runner 是极狐GitLab实现 CI/CD 的基石。极狐GitLabRunner 能够让开发者针对不同分支进行相应的 CI/CD 流水线设计,而且整个构建过程的产物、结果都是可视化的,同时具有原生容器支持 (Docker)、多语言支持、Runner 自动伸缩、多系统 (Linux、Mac、Windows、FreeBSD) 支持等特点。当然,如果用户不想用极狐GitLab(SaaS 版本)自身提供的 Runner,还可以自定义 Runner (将自己的服务器配置为 Runner 可运行的环境,再将 Runner 和极狐GitLab相连接),这样就省去了由于构建过多而需要等待的烦恼。

4. 镜像仓库

随着云原生浪潮的席卷,软件的交付模式也从源码交付变成了镜像交付。镜像在云原生应用的部署与管理中占据着重要的位置。极狐GitLab同样有容器镜像仓库,可以像使用其他镜像仓库一样来使用极狐GitLab的容器镜像仓库,比如

    $ docker login <极狐_registry_url> -u username -p password
    $ docker build -t <极狐_registry_url>/username/demo
    $ docker push <极狐_registry_url>/username/demo

当然,最简单的就是配置在 CI/CD 流水线里面,等镜像构建完毕,自动推送至镜像仓库,代码如下:

  docker-build:
    # Use the official docker image.
    image:
      name: gcr.io/kaniko-project/executor:debug
      entrypoint: [""]
    script:
      - mkdir -p /kaniko/.docker
      - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
      - /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG
    rules:
      - if: $CI_COMMIT_BRANCH
        exists:
          - Dockerfile

5. DevSecOps

安全永远是一个很重要的话题,以往的瀑布式开发中,安全是被滞后的 (在测试甚至更靠后的阶段),留给安全的时间是相对比较充裕的;随着项目开发的敏捷化,早发布、快发布已经成为了主旋律,在这种情况下,安全需要被提前,也就是常说的安全左移 (Security Shift Left),左移至编码,甚至计划阶段,并且对于安全测试也要做到自动化。

测试领域有一个原理:在需求阶段发现并修复一个缺陷或问题如果如需要花费一美分,那么在开发阶段修复同样的问题则需要花费十美分;在测试阶段话花费一美元,在生产环境则需要十美元。

基于此,极狐GitLab提供了覆盖软件开发生命周的 DevSecOps 解决方案。包含但不仅限于下述的内容:

6. GitOps

云原生是时下非常火热的一个词语,其目的是充分利用云平台的红利,但是云原生应用的管理始终是一个复杂的问题。GitOps 提供了一种云原生应用管理的新模式:以声明式系统 (如 Kubernetes) 为基座,以 Git (极狐GitLab、GitHub 等) 为单一可信源来帮助开发、运维人员方便有效的管理云原生应用。

为了更好的推动 GitOps 的发展,极狐GitLab联合中国信息通信研究院、云原生计算基金会 (CNCF) 共同发起了“开源 GitOps 产业联盟”(Open GitOps Industry Alliance,简称 OGA 联盟)。

7. 度量

没有度量就没有进步。度量是 DevOps 中非常重要的一环 (DevOps 的 CALMS 模型中的 M 就代表度量 (Measurement))。极狐GitLab提供了四个关键指标来对 DevOps 做出度量,分别是:

当然,除此以外,极狐GitLab还有针对系统的总用户 、研发项目、流水线、合并请求等的众多内置度量分析。分析的结果均以可视化的方式呈现。

8. 日志和监控

日志和监控其实是伴随软件开发的整个生命周期的,极狐GitLab提供的日志和监控系统能够为开发、测试、运维等人员提供关于应用程序的详细情况,方便人们随时掌握应用程序的状况。

一体化 DevOps 平台的好处

1. 提升开发体验

这一点就像大家去大型商场一样,购物、娱乐、餐饮应有尽有,消费者不用出商场就能满足一切需求,省去了大家在不同地点来回折腾的烦恼。极狐GitLab的一体化 DevOps 平台满足了用户的所有需求,用户只需要在这一个平台就能完成所有操作,不用在构建时切到构建工具的地址,镜像扫描切到镜像系统 (上云的用户一般采用云厂商的镜像仓储系统,还需要登陆云厂商的系统去查看镜像信息) 的地址,更不用说加入安全扫描等操作。这种情况增加了开发人员的工作负担,他们不仅需要记录这些地址,还需要对所有的系统或者工具有所了解,如果系统或者工具发生变更,重复的操作还要再来一遍。对于开发人员来说,能在极狐GitLab上完成开发所需的所有内容,开发体验提升了,效率自然而然也就提高了 (使用自己熟悉而且喜欢的工具,工作起来总是很舒服)。

2. 合规审计变得容易

极狐GitLab将作为所有操作 (代码变更、镜像构建、安全测试等) 的统一入口,相关的操作都会有相应的记录,可以看到哪些人员在哪些时候对哪些项目做了哪些操作,一目了然,所见即所得。这就让合规审计变得简单。

3. 提高安全性

当使用多种工具来完成软件开发时,针对每个用户都需要对不同工具做权限管理,尤其当我们选择一些自身并不带权限管理的工具时,权限管理就变成了一个比较头疼的事情。而极狐GitLab是一个一体化,它会作为相关人员权限管理 (鉴权/授权,Authentication / Authorization) 的唯一入口,能够对相应人员做到细粒度的权限管理。安全性就得到了一定程度的提高。

而这一切都来源于极狐GitLab的三个一 (一个界面、一个用户模型、一个数据模型):

60天免费试用极狐GitLab专业版

极狐GitLab不仅是源代码管理或CI/CD工具,它是一个覆盖完整软件开发生命周期和DevOps的开放式一体化平台。

企业版试用
售前咨询
联系电话
在线支持
预约演示