网易首页 > 网易号 > 正文 申请入驻

使用 GitLab 的 Terraform CI/CD 管道

0
分享至

关注留言点赞,带你了解最流行的软件开发知识与最新科技行业趋势。


使用 GitLab 管道部署 Terraform 为管理基础设施提供了一个安全、无缝的过程,从而实现更快、更高效的部署。

基础设施即代码 (IaC) 是现代 DevOps 和敏捷团队一致、高效地管理云基础设施并提高弹性的基本实践。Terraform 已成为 IaC 的领先工具,无论组织规模如何,团队都可以跨多个提供商配置云基础设施。借助 Terraform,DevOps 工程师可以使用代码快速轻松地管理云基础架构,从而加快部署过程并确保一致性。

除了 Terraform,GitLab 已成为开发人员和 DevOps 工程师进行 CI/CD 管理的热门选择。GitLab 与不同工具的广泛集成可以更好地管理部署过程,使其成为希望简化 DevOps 工作流程的组织的必备工具。通过利用 Terraform 和 GitLab,组织可以高效且有效地管理其云基础架构和部署流程,从而改进其整体 DevOps 流程。

GitLab 的优势

让我们看看 Terraform 和 GitLab 一起提供的一些优势,以及如何集成 GiLlab 和 Terraform 以管理云基础设施的演练。

  1. Terraform 状态管理:GitLab 可用于管理您的 Terraform 状态文件,这有助于确保您的基础设施得到一致且正确的管理。
  2. 与其他 GitLab 功能集成:您可以使用 GitLab 的问题跟踪、项目管理和其他功能来更好地管理您的 Terraform 项目。
  3. GitOps 原则:整合 GitOps 部署和基础架构即代码 (IaC) 工作流程。
  4. GitLab 管道:GItlab 提供托管管道功能,无需管理任何专用服务器,如 Jenkins
核心概念

出于演示目的,我们已将 terraform 代码发布到公共GitLab存储库。

地形状态

Terraform 状态就像用于基础设施部署的数据库。它跟踪所有由 Terraform 部署和管理的云资源。

使用 GitLab,您可以:

  1. 对 Terraform 状态文件进行版本控制。
  2. 对传输中和静止时的状态文件进行加密。
  3. 锁定和解锁状态。
  4. 远程执行 terraform plan 和 terraform apply 命令。
亚搏体育应用程序管道

GitLab 提供 CI/CD 管道,这些管道是在项目存储库根目录中的 gitlab-ci.yml 文件的帮助下定义的。管道功能最初是为应用程序代码部署而设计的,但现在也广泛用于管理基础设施部署。

流水线工作流程

一个典型的管道包括 GitLab 的基于标准合并请求的基础设施部署工作流

对于所需的任何基础架构更改,都会从主线分支创建功能分支。完成所需的更改后,将提出合并请求以将更改集成到主线分支中,例如main。

根据此工作流,为来自主分支的基础设施更改请求创建一个新分支(例如,分支名称 — CR1/demo_change_request_for_vpc)。然后对该分支进行必要的更改,并在 GitLab 中提出合并请求以供审查。

一旦 MR 被提升,管道就会被触发以执行与最近更改的第一级检查相关的某些地形任务。这是第 1 阶段,其中包括:

  1. Prepare:初始化terraform代码,下载依赖模块
  2. 验证:使用terraform validate命令验证 terraform 源代码是否存在任何编码错误和不正确的引用
  3. 计划:生成一个计划,描述在触发地形执行时对现有基础设施的更改。此步骤有助于评估更改并就是否进一步进行基础架构更改做出正确的决定

然后将生成的计划 [文件] 保存为管道工件,以确保在此合并请求获得批准时应用准确的计划更改

在审查并批准合并请求后,变更将合并到分支中,进入管道的第 2 阶段,这一次,采用预先生成的计划并将变更应用到云部署。步骤是

  1. 获取计划文件
  2. 应用:将计划的更改应用到基础架构。这可以是创建或更新操作,可能需要替换某些资源。因此,在批准申请之前仔细评估计划。

整个工作流程在gitlab-ci.yml 文件中定义。

管道在行动

充分解释概念并准备好代码后,下一步是为 AWS 云资源配置设置部署管道。我们将逐步指导如何构建此管道和预期的输出结果。

连接 AWS 云

您的 AWS 帐户的凭据可以在变量部分下配置 <提及路径,例如,设置 -> CI/CD-> 变量(需要屏蔽敏感令牌)

设置 Terraform 状态后端

GitLab 在 Terraform 的 backend.tf文件中配置为远程状态存储后端。

用于后端配置的 GitLab 项目特定配置在 .gitlab-ci.yml 文件的变量部分中定义。

触发管道

为了模拟上面解释的行为,在核心概念部分,

  1. 从主分支创建一个新分支
  2. 进行更改,提交并推送代码
  3. 在此处创建合并请求并检查管道执行 → CI/CD → 管道
  4. 管道成功执行后,可以通过检查管道日志来检查生成的计划
  5. 打开合并请求并查看代码更改。
  6. 根据代码更改和管道执行信息,如果一切正常,批准合并请求
  7. 再次监视管道以了解通过分支部署的更改的进度
  8. 当部署管道显示绿色时,这意味着所有更改都已成功部署,这是个好消息!
  9. 但是,如果出现问题并且管道显示失败,请重新检查上述步骤以防遗漏任何内容。
清理

gitlab-ci.yml 文件的最后阶段包括销毁清理操作。手动批准后,它会执行 terraform destroy 命令。

  1. 这是作为一个方便的操作添加的,用于清理作为此博客的一部分创建的资源
  2. 只需返回任何成功执行的管道并单击销毁按钮
概括

让我们总结一下整个部署过程及其帮助:

  1. 安全的代码管理:GitLab 管道为管理代码更改提供了一个安全的环境,确保只有授权人员才能进行更改。
  2. 顺畅的基础设施维护:管道的使用使得维护基础设施变得更加容易,减少了对额外工具的需求。
  3. 集成 SCM 和 CI/CD:SCM 与 CI/CD 的集成是无缝的,使管道成为代码管理过程的自然扩展。
  4. 简化的部署过程:减少对本地系统的依赖以安装任何工具和库。
  5. 多功能后端配置:后端配置也可以通过 GitLab 管道进行管理,增加了它们的多功能性。
  6. 改进协作:一起使用 GitLab 和管道可以改进团队内部的协作,从而实现更好的代码管理。
  7. 强大的社区支持:GitLab 和 Terraform 是广泛使用的工具,具有强大的社区支持,可在需要时提供资源访问和帮助。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
玫瑰离婚自曝婚姻生活,父母暴怒帮其出气,害方协文痛失200万

玫瑰离婚自曝婚姻生活,父母暴怒帮其出气,害方协文痛失200万

小邵说剧
2024-06-19 17:51:12
中国急需攻克5项尖端技术,一旦突破,将无惧任何国家垄断!

中国急需攻克5项尖端技术,一旦突破,将无惧任何国家垄断!

史小纪
2024-06-19 14:58:48
他是原云南省长之子,坐牢15年,父亲判死刑,入狱后:父母害了我

他是原云南省长之子,坐牢15年,父亲判死刑,入狱后:父母害了我

天闻地知
2024-06-20 09:11:32
1963年,毛主席谈起飞机,开了个玩笑,王季范:难怪中央有个命令

1963年,毛主席谈起飞机,开了个玩笑,王季范:难怪中央有个命令

简史档案馆
2024-06-19 10:23:19
何祚庥:司马南头脑比项立刚清醒,项某就是一位民科,可笑又可怜

何祚庥:司马南头脑比项立刚清醒,项某就是一位民科,可笑又可怜

嘿哥哥科技
2024-06-19 19:11:49
太平天国的创始人冯云山,功劳最大地位却屈居第四,有何隐情?

太平天国的创始人冯云山,功劳最大地位却屈居第四,有何隐情?

否知
2024-06-20 11:18:25
“新冠疫苗之父”杨晓明落马!打过3针的网友瑟瑟发抖?

“新冠疫苗之父”杨晓明落马!打过3针的网友瑟瑟发抖?

天津生活通
2024-06-19 16:14:23
俄罗斯的核威胁正在失去效力

俄罗斯的核威胁正在失去效力

不死好鸟
2024-06-19 23:52:35
网友:本以为亚太空间合作组织是个野鸡机构,没想到背景这么强!

网友:本以为亚太空间合作组织是个野鸡机构,没想到背景这么强!

嘿哥哥科技
2024-06-20 01:23:50
“会计”监狱提篮桥有多牛?网友:里面的人文质彬彬,很有文化样

“会计”监狱提篮桥有多牛?网友:里面的人文质彬彬,很有文化样

开玩笑的水母
2024-06-19 18:30:06
广西男孩变成植物人,医院却查不出病因,母亲煮鸡汤时发现蹊跷

广西男孩变成植物人,医院却查不出病因,母亲煮鸡汤时发现蹊跷

安妮Emotiong
2024-06-17 20:50:40
知名医生谈南医大事故:救人不是迟到理由。网友将他怼得哑口无言

知名医生谈南医大事故:救人不是迟到理由。网友将他怼得哑口无言

钱多多多多
2024-06-20 10:52:39
我花2万找小姐要求处女,在酒店以为遇到仙人跳,最后动了真心

我花2万找小姐要求处女,在酒店以为遇到仙人跳,最后动了真心

叶天辰故事会
2024-06-07 18:02:04
京多安谈首球争议:在英超那种球吹犯规所有人都会笑翻在地

京多安谈首球争议:在英超那种球吹犯规所有人都会笑翻在地

懂球帝
2024-06-20 04:24:07
张学友演唱会被投诉唱粤语歌!本尊回应:国语还行但自己来自香港

张学友演唱会被投诉唱粤语歌!本尊回应:国语还行但自己来自香港

娱乐白名单
2024-06-18 10:09:38
刘德华、杨幂等明星公开抵制,却几乎全民都在做,网友:违法吗?

刘德华、杨幂等明星公开抵制,却几乎全民都在做,网友:违法吗?

毒舌电影
2024-06-19 19:00:03
曾凡博离开国家队后,周琦也突发离队,这是什么情况?

曾凡博离开国家队后,周琦也突发离队,这是什么情况?

篮球资讯达人
2024-06-19 20:20:32
上海女子癌症晚期,委托同学办丧礼,不料同学把她的遗体放冷冻柜

上海女子癌症晚期,委托同学办丧礼,不料同学把她的遗体放冷冻柜

华人星光
2024-06-17 19:14:29
余琦嚣张背后有多优秀?学历高博士毕业 曾是国家航天领导 发过书籍

余琦嚣张背后有多优秀?学历高博士毕业 曾是国家航天领导 发过书籍

小虎新车推荐员
2024-06-20 01:18:55
黄一鸣正式接受专访,坦言可以做DNA,支持女儿继承王思聪财产!

黄一鸣正式接受专访,坦言可以做DNA,支持女儿继承王思聪财产!

阿桥侃娱乐
2024-06-20 08:31:22
2024-06-20 13:54:44
墨谈科技
墨谈科技
业务数码玩家.无聊的博主
3008文章数 567关注度
往期回顾 全部

科技要闻

苹果回应AI仅限iPhone15Pro:不是为卖新机

头条要闻

34岁德国老将贡献大师级表现 曾称要在欧洲杯后退役

头条要闻

34岁德国老将贡献大师级表现 曾称要在欧洲杯后退役

体育要闻

绿军的真老大,开始备战下赛季了

娱乐要闻

离谱!24岁女偶像参加涉毒男星生日聚会,坐在桌边陪赌

财经要闻

日本银行巨头突然爆雷!

汽车要闻

售价11.79-14.39万元 新一代哈弗H6正式上市

态度原创

手机
数码
房产
旅游
健康

手机要闻

三星 Galaxy S24 Ultra 将参与转播 2024 年巴黎奥运会开幕式

数码要闻

泄露的图片展示了三星Galaxy Watch Ultra以及正在充电的Galaxy Ring

房产要闻

海棠湾!一所重量级国际学校真的来了!

旅游要闻

铁路儿童票新规 已有超4900万小旅客免费出行

晚餐不吃or吃七分饱,哪种更减肥?

无障碍浏览 进入关怀版