我正在尝试将codebuild设置为从具有Terraform的代码代码管道中接收工件。 terraform文件中codebuild资源的相关部分如下所示:
source {
type = "CODEPIPELINE"
git_clone_depth = 1
}
运行terraform apply
时出现错误,错误是:
错误:创建CodeBuild项目时出错:InvalidInputException:无效输入:使用CodePipeline时,必须将sourceType和artifactType都设置为:CODEPIPELINE状态码:400,请求ID:2c32335e-d3c1-4abd-823b-83e26b947c77
terraform文档中没有关于sourceType的任何内容,也不是arifactType...。如何建立一个安装代码来从具有Terraform的代码管道中接收工件?谢谢!
此错误与构建输出工件定义有关:[1]
要解决,请为TF资源上的'源'和'工件'属性定义type ='CODEPIPELINE':aws_codebuild_project:
来自https://www.terraform.io/docs/providers/aws/r/codebuild_project.html#artifacts:
源代码支持以下内容:
type-(必需)包含源代码的存储库类型待建。此参数的有效值为:CODECOMMIT,CODEPIPELINE,GITHUB,GITHUB_ENTERPRISE,BITBUCKET,S3或NO_SOURCE。
工件支持以下内容:
type-(必需)构建输出工件的类型。的有效值此参数是:CODEPIPELINE,NO_ARTIFACTS或S3。
如果仍然遇到问题,请共享您的TF模板。
Ref:
[1] https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectArtifacts.html