aws-cdk 中的 AWS CodeBuild Webhook

Ase*_*sna 4 amazon-web-services aws-codebuild aws-cdk

使用 GitHub Webhook 创建 AWS CodeBuild 项目以使用 来运行拉取请求检查的最佳方法是什么aws-cdk

Ada*_*uka 5

不幸的是,截至撰写本文时(2018 年 12 月),CloudFormation 尚不支持此功能(请参阅此处的AWS 论坛帖子)。

由于 CDK 在后台使用 CloudFormation 来执行部署,因此如果 CloudFormation 不支持某些功能,我们也无法在 CDK 中支持它。

编辑:我实际上错了。虽然branchFilterCloudFormation 不支持您在 CodeBuild 的 AWS 控制台中看到的属性,但 Webhook 本身支持。

使用 CDK 创建 Webhook 的示例代码(使用 TypeScript):

import codebuild = require('@aws-cdk/aws-codebuild');
import cdk = require('@aws-cdk/cdk');

const project = new codebuild.Project(this, 'MyProject', {
  source: new codebuild.GitHubSource({
    owner: 'awslabs',
    repo: 'aws-cdk',
    oauthToken: new cdk.SecretParameter(this, 'GitHubOAuthToken', {
      ssmParameter: 'my-github-token',
    }),
    webhook: true, // default: false
  }),
  // remaining Project parameters here...
});
Run Code Online (Sandbox Code Playgroud)

请注意,您需要 CDK 版本0.21.0或更高版本才能使用此功能。