写点什么

极狐 GitLab 初探(上)

用户头像
极狐GitLab
关注
发布于: 2021 年 07 月 15 日
极狐 GitLab 初探(上)

极狐(GitLab)跟大家见面已经有一段时间了,大家或许想问:极狐 GitLab 和 GitLab 又有什么区别?极狐 GitLab 有哪些好用的功能,能为开发工作带来什么好处?为了能让大家更好了解极狐 GitLab, 我们为大家带来《极狐 GitLab 探秘系列》,共分为上下两部分,本期为第一部分的内容。

极狐 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(极狐 GitLab Runner)

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 的基石。极狐 GitLab Runner 能够让开发者针对不同分支进行相应的 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
复制代码


*极狐 saas 版本即将发布,敬请大家期待这个地址


当然,最简单的就是配置在 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
复制代码


下篇预告

本期的内容就到这里了,在下周发布的《极狐 GitLab 初探(下)》中,我们将继续从 DevSecOps、度量、日志和监控等角度为您介绍极狐 GitLab 的解决方案,以及极狐 GitLab 为开发团队带来的价值。


我们下期再见!更多内容也请前往官网


*本文转载自极狐(GitLab)微信公众号,作者小马哥。


用户头像

极狐GitLab

关注

开源开放,人人贡献 2021.05.19 加入

开放式一体化DevOps平台,助力行业高速协同增长!

评论

发布
暂无评论
极狐 GitLab 初探(上)