在 Amazon EKS 上使用 Jenkins 和 HashiCorp Terraform 实现持续集成(三)

阅读数:2 2019 年 12 月 20 日 15:15

在 Amazon EKS 上使用 Jenkins 和 HashiCorp Terraform 实现持续集成(三)

使用 AWS Cloud9 修改代码并推送代码更改

让我们使用 AWS Cloud9 推送代码更改,并观察 Jenkins 和 Spinnaker 中端到端的持续集成和持续部署管道的执行情况。打开 AWS Cloud9 并在 messages.properties 文件中将 welcome 更改为 Welcome CI/CD,然后保存文件。

在 Amazon EKS 上使用 Jenkins 和 HashiCorp Terraform 实现持续集成(三)

图 20. 推送代码更改

在 AWS Cloud9 中打开 shell 终端并运行以下命令:

Bash

复制代码
cd environment/amazon-eks-jenkins-terraform
git status

Bash

复制代码
git commit -am "change messages.properties"
git push

这会将代码更改推送到 GitHub 存储库,从而触发 Jenkins 管道。Jenkins 管道将运行各个阶段,并将 Docker 映像推送到 Docker Hub 注册表。新 Docker 映像的创建将触发 Spinnaker DeployToUAT 管道,这继而会触发 Manual Approval 管道,如下所示。此时,新的代码更改已交付给 Amazon EKS UAT 集群:即实现了持续交付。

在 Amazon EKS 上使用 Jenkins 和 HashiCorp Terraform 实现持续集成(三)

图 21.Spinnaker 管道

选择批准作为判断输入,然后单击继续以批准将触发 DeployToProd Spinnaker 管道的代码更改。然后,新的代码更改将部署到 Amazon EKS 生产集群:即实现了持续部署。

打开 Amazon EKS 生产集群的负载均衡器终端节点,您将看到新的代码更改:

在 Amazon EKS 上使用 Jenkins 和 HashiCorp Terraform 实现持续集成(三)

图 22. 应用程序代码更改

清理

要删除 Jenkins 实例,请在 AWS Cloud9 IDE 内运行以下命令:

Bash

复制代码
cd environment/amazon-eks-jenkins-terraform/terraform

Bash

复制代码
terraform destroy -auto-approve

在 Amazon EKS 上使用 Jenkins 和 HashiCorp Terraform 实现持续集成(三)

图 23.Terraform destroy

结论

在本文中,我们概述了在 Amazon EKS 上使用 Terraform 和 Jenkins 配置持续集成平台所需的详细说明。Jenkins 可以与 Spinnaker 集成以构建完整的 CI/CD 管道。在 Spinnaker 中将 Jenkins 设置为持续集成 (CI) 系统,您将可以使用 Jenkins 触发管道、在管道中添加 Jenkins 阶段或在管道中添加脚本阶段。要了解有关 Terraform 的更多信息,请参阅 terraform.io 或 Terraform 文档

在 Amazon EKS 上使用 Jenkins 和 HashiCorp Terraform 实现持续集成(三)

Meghan Liese

Meghan Liese 是总部位于加利福尼亚州旧金山的 HashiCorp 的 Terraform 产品营销总监。

本文转载自 AWS 技术博客。

原文链接: https://amazonaws-china.com/cn/blogs/china/continuous-integration-using-jenkins-and-hashicorp-terraform-on-amazon-eks/

欲了解 AWS 的更多信息,请访问【AWS 技术专区】

评论

发布