极狐GitLab+AWS ,让 CI Runner 更高效率

极狐GitLab + AWS ,让 CI Runner 更高效率、更低成本

首先问大家一个问题:DevSecOps 和 GitOps 都这么多年了,为什么很多时候还是依靠人工部署 App 和 AWS 资源呢?

市面上虽有很多 Pipeline 相关工具,但在实际上开发过程中,从 Repo 到 CI/CD 再到云,全都需要人工去补足,而非全自动。所谓全自动 Pipeline,就像上图,跑了不久又失败了,那倒不如自己动手更快。

上图是一个 DevOps 全家桶示例,用到了 GitLab、Jenkins、SonarQube、Jira 等工具。

当开发者使用这些工具来搭建 DevOps 平台,需要对它们进行整合,这个过程非常复杂,而且往往会遇到很多问题,例如:

  • 想用 IaC,要么 Dev 不懂,要么 Ops 不懂;
  • 有 N 个工具要整合(SSO?Custom Plugin?还有不同工具自己的资料库 );
  • 没有统一的 Dashboard;
  • 工具更新了有可能会出问题。

所以,很多人认为浪费在整合和 Debug DevOps 工具的时间,比实际写代码的时间还多。

上述问题,极狐GitLab 可以帮助解决,尤其是加上 AWS 相关服务,如虎添翼。

轻松配置 IaC:极狐GitLab CI + AWS CDK

| 配置 IaC 门槛高?

“想要配置 IaC,要么 Dev 不懂,要么Ops 不懂?”

使用 AWS CDK(Cloud Development Kit)可以免除学习 IaC 工具 或 CloudFormation 的烦恼,开发人员可以用自己熟悉的语言定义 AWS 资源,运维也可以看生成的 CloudFormation Template。

AWS CDK 与极狐GitLab 相结合,具有以下四大优势:

  1. 可通过极狐GitLab CI 进行分支部署(Branch deployment);
  2. 极狐GitLab 有对应 AWS 镜像 awscli ci image: registry.gitlab.com/gitlab-org/cloud-deploy/aws-base:latest;
  3. 自带多个 AWS CI 模板;
  4. 海量第三方 AWS CI 模板。

CloudFormation 对比 Terraform 方便点在于:在 AWS 上部署,不需要整合对象存储存放状态文件。当然,极狐GitLab 也支持 Terraform。

在如今的 IaC(基础设施即代码)时代,包括 Policy(如 IAM,AWS WAF)等,也可以做成 CI/CD Workflow,如果发现问题需要修改,也可以开启 Issue → MR → CI。

另外,版本控制在 Git 和 DevOps 世界非常重要。如果在某个环节出问题了,可以直接回滚特定版本,新建一条 Pipeline 来重新部署一个版本,通过极狐GitLab 加上 AWS 的一些服务就可以做到了。

| 多工具整合和管理很困扰?

搞定了部署,此外还有很多工具要整理,如安全扫描,因为通常一个安全工具不能解决整个开发流程中的所有安全问题,至少需要 SAST、 DAST、持续扫描工具等。

极狐GitLab 内置七大安全扫描工具,可以进行包括敏感信息检测、容器镜像扫描、开源许可合规检测、 DAST、SAST、依赖项扫描、模糊测试等安全扫描。

| Task 太多,CI Server 不够用?

实际开发中,有很多安全扫描任务,需要扫描整个 Pipeline Runner ,往往需要很长时间。如果使用其他 CI/CD 工具,还需要部署 VM,工作量很大。

而极狐GitLab 支持 AWS 无服务器应用 Fargate,只需开启一个 ECS,连接 Fargate,在 CI 做一个 tag,用一个 Customized Runner 连接 Fargate,就可以搭一个无服务器的 CI Runner了。如要进行前文提到的 7 大安全扫描,CI Runner 就会自动连接 Fargate 来分别进行扫描。

如上图所示,所有任务会先上传到 EC2 Instance,再编排工作给 Fargate,可设置最多开多少 Fargate,当然用 Infinite 也可以。

极狐GitLab 原生支持 Serveless 应用:

  • 省时间,支持公司或团队同时开多条 CI 流水线进行秒级扫描;
  • 省成本,不用开了之后要关,这样其实也是需要时间,VM 的计费跟 Fargate 计费不一样。

以上就是极狐GitLab 结合 AWS 服务区搭建基础设施,进行 DevOps 实践,让 CI Runner 更高效率、更低成本,希望对你有帮助。

#极狐Gitlab##牛客解忧铺##技术栈##研发#
全部评论
非常感谢你的分享,极狐GitLab + AWS 的结合确实可以让 DevOps 实践更加高效和便捷。特别是通过使用 AWS CDK 和 Fargate,可以轻松配置 IaC 和实现无服务器应用,从而降低了部署和管理的门槛和成本。同时,极狐GitLab 内置的七大安全扫描工具也可以帮助开发团队更好地保障应用的安全性。总之,这是一种非常值得尝试的 DevOps 解决方案。
1 回复 分享
发布于 2023-06-09 15:58 AI生成

相关推荐

点赞 评论 收藏
分享
一名愚蠢的人类:多少games小鬼留下了羡慕的泪水
投递荣耀等公司10个岗位
点赞 评论 收藏
分享
点赞 1 评论
分享
牛客网
牛客企业服务