Files
nexus/wiki/entities/Atlantis.md

3.9 KiB
Raw Blame History

title, type, tags, created
title type tags created
Atlantis entity
devops
iac
terraform
gitops
cicd
2026-04-26

Atlantis

Definition

Atlantis 是一个开源的Terraform CI/CD 工具,通过与 GitHub/GitLab 深度集成,将 Terraform 的 plan 和 apply 操作转移到 Pull RequestPR评论层面实现基础设施即代码的协作式自动化部署。

Core Model: PR-Driven IaC

Atlantis 的核心理念:每个 Pull Request 都是一次 Terraform 操作

Developer                Atlantis                AWS Accounts
    │                        │                        │
    │  1. Open PR            │                        │
    │───────────────────────>│                        │
    │                        │  2. !atlantis plan    │
    │                        │───────────────────────>│
    │                        │<───────────────────────│ 3. terraform plan
    │  4. Post plan result   │                        │
    │<───────────────────────│                        │
    │  5. Review & Approve   │                        │
    │───────────────────────>│                        │
    │                        │  6. !atlantis apply   │
    │                        │───────────────────────>│
    │                        │<───────────────────────│ 7. terraform apply
    │  8. Merge PR           │                        │
    │───────────────────────>│                        │

来源: ctp-topic-32-using-atlantis-cicd-for-infrastructure-deployments

Key Features

特性 说明
PR 评论触发 无需独立 CI 账号,开发者在 PR 上评论即可
并行 plan/apply 多模块并发执行,提升部署效率
锁定机制 防止多 PR 同时操作同一模块产生冲突
跨账户访问 通过 IAM 角色实现多 AWS 账户部署
零额外基础设施 只需一台 EC2 共享账户实例

来源: ctp-topic-32-using-atlantis-cicd-for-infrastructure-deployments

Comparison: Atlantis vs Jenkins

维度 Atlantis Jenkins
触发方式 PR 评论 SCM 轮询/定时
初始化速度 快速(按需) Jenkins 预配置)
代码克隆 单次 多次
测试执行 并行 顺序
架构复杂度 简单 复杂(持续叠加功能)
Terraform 专用 通用(需配置)
PR 协作 原生

来源: ctp-topic-32-using-atlantis-cicd-for-infrastructure-deployments

Micro Focus Usage

Micro Focus 在 Labs Landing Zone 中使用 Atlantis 替代 Jenkins 进行 Terraform IaC 部署:

  • 每个 Landing Zone 共享账户部署单台 EC2 实例
  • GitHub Enterprise Webhook 接收 PR 事件
  • 服务账号负责评论/合并/关闭 PR
  • Atlantis 在 merge 前即应用变更

局限性: Atlantis 当前不支持 EKS 部署,需通过 Jenkins + Terragrunt 模块替代。

来源: ctp-topic-32-using-atlantis-cicd-for-infrastructure-deployments, ctp-topic-39-implementing-eks-in-the-aws-lab-landing-zone

  • Terraform — Atlantis 操作的核心 IaC 工具
  • Gruntwork — Terragrunt 的开发者Atlantis 生态伙伴)
  • GitOps — Atlantis 是 GitOps 在 Terraform 领域的实现工具
  • CI/CD Pipeline — Atlantis 提供 CI/CD 能力