Skip to main content

/ipa-stack-codepipeline

CI/CD pipeline with CodeBuild for automated build, test, and deploy. Composed via /ipa-compose codepipeline as a prepare-lifecycle stack.

Stack Identity​

PropertyValue
Stack name{APP_NAMESPACE}-{APP_ENV}-codepipeline
Templateinfra/cfn/codepipeline/codepipeline.yml
CapabilitiesCAPABILITY_NAMED_IAM
Lifecycleprepare (prerequisite stack)
Tiercodepipeline

Parameters​

Configuration Parameters​

ParameterDefaultDescription
Namespace(from .env)Project namespace
Environment(from .env)Environment label
AccountId(from .env)AWS account ID
SourceBranchmainBranch that triggers the pipeline
BuildImageaws/codebuild/standard:7.0CodeBuild image
ComputeTypeBUILD_GENERAL1_LARGECodeBuild compute type
KmsKeyArn(none)Optional KMS key ARN

Wirable Parameters​

ParameterSource StackSource OutputNotes
CodeBuildRoleArnsecurityCodeBuildRoleArnFrom /ipa-security stack
EcrRepoUriecrRepositoryUriECR repository URI
OidcIssuercognitoIssuerUrlOIDC issuer URL
OidcClientIdcognitoUserPoolClientIdCognito app client ID
OidcEndSessionEndpointcognitoEndSessionEndpointCognito end session endpoint
SourceRepoNamecodecommitRepositoryNameCodeCommit repository name

Compose Config​

ParameterPromptDefault
SourceBranch"Branch to trigger pipeline?"main
BuildImage—aws/codebuild/standard:7.0
ComputeType—BUILD_GENERAL1_LARGE

CodeBuild Environment Variables​

The pipeline injects these environment variables into CodeBuild, which are inherited by Make targets:

VariableDescription
APP_NAMESPACEProject namespace
APP_ENVEnvironment label
AWS_ACCOUNT_IDAWS account ID
ECR_REPO_URIECR repository URI
OIDC_ISSUERCognito OIDC issuer URL
OIDC_CLIENT_IDCognito client ID
OIDC_END_SESSION_ENDPOINTCognito logout URL
IPA_MAKEFILEMakefile path (set per pipeline action)
IPA_TARGETMake target (set per pipeline action)

Pipeline Stages​

StageMakefileTarget
Testscripts/test.mktest
Buildscripts/build.mkbuild
Deployscripts/deploy.mkdeploy
PostDeployscripts/post-deploy.mkpost-deploy

Outputs​

OutputDescription
PipelineNameCodePipeline name
PipelineArnPipeline ARN
CodeBuildProjectNameCodeBuild project name
ArtifactBucketNameS3 bucket for pipeline artifacts