Files
nexus/wiki/sources/ctp-topic-32-using-atlantis-cicd-for-infrastructure-deployments.md
2026-04-20 00:02:56 +08:00

2.4 KiB
Raw Blame History

title, type, tags, date
title type tags date
CTP Topic 32 Using Atlantis CICD for Infrastructure Deployments source
2026-04-14

Source File

Summary

  • 核心主题:使用 Atlantis 替代 Jenkins 进行基础设施自动化部署
  • 问题域:当前 Jenkins 流水线存在初始化时间长、多代码克隆、顺序测试、ECS 部署器配置慢等问题,且复杂度高、脆弱性强
  • 方法/机制Atlantis 是开源、自托管的 Terraform 自动化工具,通过 GitHub Pull Request 评论触发 plan/apply支持并行构建、目录锁定、依赖触发
  • 结论/价值Atlantis 提供更好的协作模型、简化网络架构(减少 VPC 终端节点需求)、合并前应用确保代码与基础设施同步

Key Claims

  • Atlantis 部署在每个 Landing Zone 共享账户的单个 EC2 实例上
  • Atlantis 通过 GitHub Enterprise Webhook 通知,使用服务账号与 GitHub 交互、发布评论、执行合并和关闭 PR
  • Atlantis 锁定机制在 plan 运行期间锁定模块目录,直至 PR 合并、关闭或 plan 被丢弃
  • Atlantis 支持并行构建,多个模块的 plan 和 apply 命令同时运行

Key Quotes

"The current pipeline is practically very slow due to significant initialization time, multiple code cloning, sequential testing, and ECS deployer provisioning." — 当前流水线问题

"When a plan is run, the directory of each module is locked until the pull request that has this folder locked is merged or closed, or the plan is manually discarded." — Atlantis 锁定机制

Key Concepts

  • Atlantis:开源、自托管的 Terraform CI/CD 自动化工具,通过 GitHub PR 评论触发工作流
  • Infrastructure-as-Code-IaC通过代码管理基础设施Atlantis 自动化 Terraform 执行
  • CI-CD-流水线:持续集成/持续部署管道Atlantis 替代 Jenkins 作为新方案

Key Entities

  • Jenkins:现有 CI/CD 工具,被 Atlantis 替代的目标
  • Terraform基础设施即代码工具Atlantis 的主要自动化对象
  • GitHub Enterprise代码托管平台Atlantis 通过 Webhook 集成

Connections

Contradictions