AWS CDK Code管道如何部署到Elastic Beanstalk?

时间:2019-05-21 07:47:12

标签: aws-cdk

尝试使用AWS CDK为Elastic Beanstalk环境创建代码管道, 我在创建部署阶段时遇到了麻烦。

在AWS控制台中,我可以使用“ AWS Elastic Beanstalk” Action提供程序添加一个Action。我在CDK中找不到这样的提供程序。

还有其他方法或变通方法来部署到Elastic Beanstalk吗?

2 个答案:

答案 0 :(得分:0)

我知道这在CDK中仍然是一个未解决的问题,并在此处进行了跟踪:

https://github.com/awslabs/aws-cdk/issues/2516

我不知道解决方法。

答案 1 :(得分:0)

由于未实现部署到Elastic Beanstalk操作,因此我使用此类和接口创建了操作:

import { ActionCategory, Action, Artifact } from "@aws-cdk/aws-codepipeline";

export interface ElasticBeanstalkDeployActionProps {
  ebsApplicationName: string;
  ebsEnvironmentName: string;
  input: Artifact;
}

export class ElasticBeanstalkDeployAction extends Action {
  constructor(props: ElasticBeanstalkDeployActionProps) {
    super({
      ...props,
      category: ActionCategory.Deploy,
      actionName: 'elasticbeanstalk-deploy-action',
      owner: 'AWS',
      provider: 'ElasticBeanstalk',
      artifactBounds: {
        minInputs: 1,
        maxInputs: 1,
        minOutputs: 0,
        maxOutputs: 0,
      },
      inputs: [props.input],
      configuration: {
        ApplicationName: props.ebsApplicationName,
        EnvironmentName: props.ebsEnvironmentName,
      },
    });
  }
  bind(_info: any) {
    // nothing to do
  }
}

要使部署正常工作,我必须将AWS托管策略AWSElasticBeanstalkFullAccess附加到管道角色

相关问题