AWS Codebuild createProject 方法缺少 Github 身份验证的 oauth 令牌参数?

use*_*026 2 github amazon-web-services aws-codebuild

AWS Codebuild createProject 方法缺少 Github 身份验证的 OAuth 令牌参数?

我想避免使用 CodePipeline。我想使用 Github 令牌以编程方式创建代码构建项目,但我似乎找不到包含 GitHub 令牌的方法。有人经历过吗?

var params = {
    artifacts: {
      /* required */
      type: 'S3',
      location: 'STRING_VALUE',
      packaging: 'ZIP'
    },
    environment: {
      /* required */
      computeType: 'BUILD_GENERAL1_LARGE',
      image: 'aws/codebuild/nodejs:4.3.2', /* required */
      type: "LINUX_CONTAINER",
    },
    name: key, /* required */
    source: {
      /* required */
      type: "GITHUB",
      auth: {
        type: "OAUTH"
      },
      buildspec: 'echo "test";',
      location: `https://github.com/${original.organizations.name}/${original.repos.name}.git`,

    },
    description: 'STRING_VALUE',
    serviceRole: 'arn:aws:iam::171566796811:role/tmmmm6',
    timeoutInMinutes: 5
  };
  codebuild.createProject(params, function (err, data) {
    if (err) console.log(err, err.stack); // an error occurred
    else     console.log(data);           // successful response


    console.log("WEBHOOK")
    var params = {
      projectName: key /* required */
    };
    codebuild.createWebhook(params, function(err, data) {
      if (err) console.log(err, err.stack); // an error occurred
      else     console.log(data);           // successful response
    });


  });
Run Code Online (Sandbox Code Playgroud)

我尝试使用以下 URL 格式: https://${original.github.token}:@github.com/${original.organizations.name}/${original.repos.name}.git 但这不起作用。Codebuild 不允许我创建 webhook。

这是文档。 http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CodeBuild.html 是否可以使用 GitHub 访问令牌创建代码构建?我知道如何使用代码管道来做到这一点,但我想尽可能避免使用代码管道。

小智 5

没有编程方式可以做到这一点。您可以使用 AWS CodeBuild 控制台连接您的 GitHub 帐户。这是一次性设置。连接后,所有使用来自您 GitHub 帐户的源的未来 CodeBuild 项目都将能够使用存储的令牌。