Gitlab实现CI/CD
开发复杂的软件项目并运行它们是一项艰巨的任务,尤其是对于大型团队而言。尤其是当您认为开发中的项目需要不断构建、部署、测试和改进时。无论服务是在本地主机上还是在任何云计算平台上运行——从生命周期的早期开始,都需要尽可能多地自动化重复性任务——否则开销将太大。为了能够快速复制和设置您的项目,最佳实践是自动化服务部署,可能使用基础设施即代码(IaC) 用于在云中配置您的基础设施,例如 AWS。两者都必须跟踪代码中的更改,以及基础设施本身的更改,运行更新、检查、测试的过程以及使应用程序保持最新并运行最新的工作和发布版本所需的一切。
这就是持续集成/持续部署 (CICD) 发挥作用并改变游戏规则的地方:CI和CD是自九十年代以来一直在使用的概念。目标是不断集成开发中的应用程序,并不断地完全自动化地交付它们。主要好处是更快的发布周期、持续的测试、更好的故障检测和隔离,从而减少了人为错误因素和在不同环境和项目中的可重用性。它对开发健壮可靠的应用程序有很大帮助。
使用 CICD 方法涉及对源的版本控制,以及用于运行自动化测试和部署基础设施和工作负载的工作实例。可以使用无数可能的工具来实现这一切。一个众所周知的组合是用于版本控制的 GitHub 和用于工作人员的 Jenkins 以及用于运行工作负载的 AWS 云。以 terraform 为例,由 Jenkins 部署的 IaC 部分。在这种情况下,jenkins 将负责运行测试、部署和其他维护工作。这种方法的缺点是它包括几个要管理的平台并且涉及大量不同的工具。必须实施和维护许多级别的身份验证。我想介绍通过使用gitlab将所有内容集中在一个引擎盖下的可能性及其集成的 CICD 解决方案。这里最大的优势是将所有必要的组件集成到一个实施良好且高度灵活的解决方案中。从您的 CICD 工作人员可以访问的 git repo 开始,并对各种 git 事件(例如推送到命名分支)做出反应 - 所有这些都无需将范围留给另一个平台和/或主机。无需在远处的 Jenkins 上触发流水线,只需使用集成的 gitlab CI 流水线和工作线程即可。
我们将详细介绍如何使用gitlab CI 使用示例AWS ECS应用程序来建立整个 CICD 工作流程 。
集成方面,将其用作SaaS或自我管理(在本地或使用AWS等云服务,甚至还有官方docker 镜像可用)。
对于定价,有一个免费层级和两个付费计划可供选择。使用免费套餐,您可以完美覆盖测试。它包括每月 400 CICD 分钟(您的工作人员运行的总时间)。如果您使用的是 SaaS 版本(自我管理对工作人员没有任何分钟限制)。至于功能丰富的高级版(19 美元用户/月)和终极版(99 美元用户/月),SaaS 使用的分钟数分别增加到每月 10,000 和 50,000 分钟。
示例场景
在此示例场景中,将提供 REST API 的简单容器化 Java Web 应用程序部署到AWS Elastic Container Service中。
CICD 场景涵盖应用程序的自动构建、测试和部署。
我们示例场景的基础设施由以下部分组成(如下图所示):
- 具有子网、路由表、互联网网关和 NAT 网关的 VPC
- 运行应用程序任务的 ECS 集群
- 一个 ECR 存储库,用于存储为运行应用程序而构建的图像
- 用于从 Internet 访问应用程序的 ALB 和 Route53 配置
这是在 AWS 云上托管示例应用程序的基础架构的概述:
示例应用程序
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhiakeka
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22