新功能
- 添加对单点登录(SSO)的OpenID Connect(OIDC)支持,以及对AWS、Azure和GCP的集成
- 定时运行功能使用户可以安排在指定时间执行
提升
- [Google Cloud CLI] 添加了版本选择
修复
- [YAML] 如果YAML流水线包含未命名的文件夹,它会生成一个“幻影”文件夹 - 已修复
- 修复触发条件显示不正确的问题
凭借其简单的语法,Terraform允许在每个云服务中轻松供配、更改与操纵版本资源。Terraform成为最受欢迎的IaC(基础设施即代码)的工具之一,难怪它很快就成为Buddy最需要的功能之一。今天,终于来啦!
除了部署代码外,Terraform还允许用户自动化基础设施更改。Terraform配置保存在存储仓中,从而可以进行版本控制。根据代码中包含的要求调整我们的基础架构,交付流水线将自动运行“terraform apply”。
Terraform配置文件(.tf)中描述了基础架构。首次运行“Terraform”将创建所描述的资源。除此之外,将创建一种称为Terraform状态(State)将用作连续运行的数据库。
Terraform状态对整个过程至关重要,因为它让我们清楚接下来在“terraform apply”执行中我们做的事。
示例:
请确保Terraform状态为持续有效。如果没有,Terraform将在每次连续运行时创建一个新的基础架构,而不是更新已经存在的基础架构!
为了维护您的状态,建议使用称为Terraform后端(Backend)的东西。而我们建议使用AWS S3或Google GCS。
您可以在我们的交付流水线中使用Terraform CLI操作。它允许您提供将在包含“.tf”文件的存储仓相关联工件中执行命令,同时还允许您选择Terraform版本。
我们建议使用固定的Terraform版本而不是最新版本“latest”。以前曾有过因为不同版本的Terraform状态而导致出现问题的情况。使用固定版本可以让您更好地控制并防止更改更新时出错。
Terraform后端配置可以直接在存储仓中的“.tf”文件中完成,也可以使用操作的“变量”选项卡中设置的环境变量来完成。除此之外,Buddy提供专用的AWS和GCP集成,允许在S3/DynamoDB和谷歌云存储中进一步后端配置选项。
以上流水线是使用Terraform的示例之一。构建应用程序后,Terraform将验证配置文件是否正确。如果一切顺利,则以下变更集条件Terraform操作将计划更改,这些更改将在手动批准后执行。在这个场景中,我们使用Rsync作为部署操作示例。
为确保基础架构更改仅在“*.tf”文件发生更改时触发,我们在操作2-6中添加了触发条件。这样,只要没有基础架构更改,流水线就会正常构建和部署您的应用程序。
参看: