本节我们将创建CodePipeline项目,它将实现自动构建项目并部署到EKS的功能。
进入AWS CodePipeline页面,点击Create Pipeline

Pipeline名称:eks-with-codepipeline, 其他选项保持默认,进入下一步:

在Add source stage步骤,选择Github version 2, 并点击Connect to GitHub:

在新弹出的页面里为Connect命名:eks-with-codepipeline,并点击Connect to Github:

完成Github页面的授权后,在原来的页面点击Install a new app:

完成授权后,会自动生成好APP名称并回到原来的页面:

选择之前Fork的仓库名称,选择master分支:

进入下一步,在Build Stage点击Create project, 将会打开一个新的页面,在里面配置CodeBuild的属性:

在新打开的CodeBuild页面,为CodeBuild项目命名为golang-builder。
在Environment配置部分,选择以下属性:

展开Additional configuration选项,添加以下环境变量:
REPOSITORY_URI: 使用创建ECR一节中,最后部分复制的URIREPOSITORY_NAME: 和github保持一致REPOSITORY_BRANCH: masterEKS_CLUSTER_NAME: 当前使用的EKS集群名称EKS_KUBECTL_ROLE_ARN: arn:aws:iam::{account_id}:role/EksWorkshopCodeBuildKubectlRole, 第一节中已经复制过
其他选项保持默认,下拉到底部,点击Continue to CodePipeline:

回到CodePipeline页面后,继续我们的创建旅程。点击Next:

我们不需要添加deploy stage,因为Code Build已经帮我们完成了所有的部署工作。所以点击Skip deploy stage:

最后点击Create pipeline:

第一次创建完成后,会自动触发流水线。
在走到Build步骤,会执行出错,因为CodeBuild使用role是自动创建的,而这个role默认没有访问ECR的权限,所以中间的编译过程会出错。

经过上面较为复杂的配置,我们的CodePipeline项目终于创建完成了。下一节我们将修复对应的权限问题,并将流水线调试通