Поскольку развертывание в Elastic Beanstalk Action не реализовано, я создал действие с использованием этого класса и интерфейса:
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
кроль конвейера