Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Using 2 APPLICATION_NAME and 2 DEPLOYMENT_GROUP variables for CodeDeploy in 1 repo?

Abryan Manalansang August 18, 2020

I tried APPLICATION_NAME_STG and APPLICATION_NAME_PRD in the Repository variables but pipeline won't work. Same thing when I do the same with DEPLOYMENT_GROUP. It's just looking for an APPLICATION_NAME and DEPLOYMENT_GROUP variables.

My goal is to deploy my application to a /staging and /production directory on my EC2.

Is there any other way?

 

2 answers

2 accepted

1 vote
Answer accepted
Abryan Manalansang August 23, 2020

I removed the DEPLOYMENT_GROUP variable at the repository level and added the variable at the pipeline level.

 variables:
AWS_DEFAULT_REGION: $AWS_DEFAULT_REGION
AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY
APPLICATION_NAME: 'CodeDeployApp'
DEPLOYMENT_GROUP: 'staging'
S3_BUCKET: $S3_BUCKET
COMMAND: 'deploy'
WAIT: 'true'
VERSION_LABEL: 'app-1.0.0'
IGNORE_APPLICATION_STOP_FAILURES: 'true'
FILE_EXISTS_BEHAVIOR: 'OVERWRITE'

 

0 votes
Answer accepted
Oleksandr Kyrdan
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
August 18, 2020

Hi @Abryan Manalansang ,

the best way to provide different deployments is set up Bitbucket Deployments .

Cheers,
Alex

Abryan Manalansang August 19, 2020

Thanks for the reply! I did that actually. I'm having issues with how I can use another deployment group so I can deploy to my production. I tried the provided solution here but you can only define DEPLOYMENT_GROUP once in the repository variables.

As per AWS, if I include the machine in deployment groups for more than one application, you can have the two deployments installed side-by-side (as long as they are in different folders and use different ports).

 steps:
- step: &build
name: Node Build
image: node:8.9.4
caches:
- node
script:
- npm install
#- ln -f -s .env.example .env # make sure that you have in your root folder

- step: &deploy
script:
name: Upload to S3
variables:
AWS_DEFAULT_REGION: $AWS_DEFAULT_REGION
AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY
APPLICATION_NAME: $APPLICATION_NAME
S3_BUCKET: $S3_BUCKET
COMMAND: 'upload'
ZIP_FILE: 'application1.zip'
- pipe: atlassian/aws-code-deploy:0.5.3
name: Deploy to Delorean EC2
variables:
AWS_DEFAULT_REGION: $AWS_DEFAULT_REGION
AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY
APPLICATION_NAME: $APPLICATION_NAME
DEPLOYMENT_GROUP: $DEPLOYMENT_GROUP
S3_BUCKET: $S3_BUCKET
COMMAND: 'deploy'
WAIT: 'true'
IGNORE_APPLICATION_STOP_FAILURES: 'true'
FILE_EXISTS_BEHAVIOR: 'OVERWRITE'

pipelines:
branches:
feature/*:
- step:
image: openjdk:8 # This step uses its own image
script:
- echo "This script runs only on commit to branches with names that match the feature/* pattern."

develop:
- step: *build
- step:
<<: *deploy
name: Deploy to Staging
deployment: staging

master:
- step: *build
- step:
<<: *deploy
name: Deploy to Prod
deployment: production
trigger: manual

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events