in cicd/code/create_branch.py [0:0]
def handler(event, context):
"""Lambda function handler"""
logger.info(event)
reference_type = event['detail']['referenceType']
try:
if reference_type == 'branch':
branch = event['detail']['referenceName']
repo_name = event['detail']['repositoryName']
client.create_project(
name=f'{codebuild_name_prefix}-{branch}-create',
description="Build project to deploy branch pipeline",
source={
'type': 'CODECOMMIT',
'location': f'https://git-codecommit.{region}.amazonaws.com/v1/repos/{repo_name}',
'buildspec': generate_build_spec(branch)
},
sourceVersion=f'refs/heads/{branch}',
artifacts={
'type': 'S3',
'location': artifact_bucket_name,
'path': f'{branch}',
'packaging': 'NONE',
'artifactIdentifier': 'BranchBuildArtifact'
},
environment={
'type': 'LINUX_CONTAINER',
'image': 'aws/codebuild/standard:4.0',
'computeType': 'BUILD_GENERAL1_SMALL'
},
serviceRole=role_arn
)
client.start_build(
projectName=f'CodeBuild-{branch}-create'
)
except Exception as e:
logger.error(e)