in infra/stack/ops/cicd-pipeline-stack.ts [35:71]
constructor(appContext: AppContext, stackConfig: any) {
super(appContext, stackConfig);
const temp: string = stackConfig.RepositorySelection;
const selection = (<any>RepositorySelection)[temp];
const selectionName = Object.values(RepositorySelection)[selection];
console.info('==> Repository Selection: ', selectionName);
if (selection == RepositorySelection.CodeCommit) {
const config = stackConfig.RepositoryCandidate[selectionName];
const repositoryName: string = config.RepositoryName;
const branchName: string = config.BranchName;
if (repositoryName.trim().length > 0
&& branchName.trim().length > 0) {
new codecommit.Repository(this, 'Repository' ,{
repositoryName: repositoryName
});
const pipeline = new codepipeline.Pipeline(this, 'CICDPipeline', {
pipelineName: `${this.projectPrefix}-CICD-Pipeline`,
});
const sourceStage = pipeline.addStage({ stageName: 'Source' });
sourceStage.addAction(this.createSourceStageAction('CodeCommit', repositoryName, branchName));
const buildStage = pipeline.addStage({ stageName: 'BuildDeploy' });
buildStage.addAction(this.createBuildDeployStageAction('BuildDeploy', 'script/cicd/buildspec_cdk_deploy.yml'));
} else {
console.info("No CodeCommit repository, so don't create CodePipeline");
}
} else {
console.error('Wrong Repository Type', selectionName);
}
}