Skip to content

Commit 562e83d

Browse files
committed
[DSC-2193] Add configuration for test environments
1 parent 3ec019d commit 562e83d

1 file changed

Lines changed: 51 additions & 0 deletions

File tree

bitbucket-pipelines.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,21 @@ definitions:
184184
- git commit -am "Update TAG with ${BRANCH_NAME}-${HASH_COMMIT}" || echo "No changes to commit"
185185
- git push
186186

187+
- step: &deploy-on-test
188+
name: Deploy on Test environment
189+
image: alpine/git:latest
190+
script:
191+
- export HASH_COMMIT=${BITBUCKET_COMMIT:0:8}
192+
- export BRANCH_NAME=$(echo "$BITBUCKET_BRANCH" | tr '[:upper:]' '[:lower:]' | sed 's|/|--|g')
193+
- export BRANCH_FILE=$(echo "$BITBUCKET_BRANCH" | awk -F'/' '{if(NF==1)val=$1;else if(NF==2)val=$2;else if(NF==3)val=$2;else val=$3;gsub(/_/, "-", val);print tolower(val)}')
194+
- git clone https://x-token-auth:${DSPACE_VALUES_ACCESS_TOKEN}@${DSPACE_VALUES_REPO}
195+
- cd dspace-values
196+
- '[ -f "test/${BRANCH_FILE}" ] && sed -i "/^angular:/,/^[^ ]/s/\(tag: \).*/\1${BRANCH_NAME}-${HASH_COMMIT}/" "test/${BRANCH_FILE}" && sed -i "s/^\([[:space:]]*replicaCount:\) 0/\1 1/" "test/${BRANCH_FILE}"'
197+
- git config --global user.email "${BB_EMAIL}"
198+
- git config --global user.name "${BB_USER}"
199+
- git commit -am "Update TAG with ${BRANCH_NAME}-${HASH_COMMIT}" || echo "No changes to commit"
200+
- git push
201+
187202
- step: &turn-on-dev
188203
name: Turn On Dev environment
189204
image: alpine/git:latest
@@ -214,6 +229,21 @@ definitions:
214229
- git commit -am "Enable staging environment for ${BRANCH_NAME}" || echo "No changes to commit"
215230
- git push
216231

232+
- step: &turn-on-test
233+
name: Turn On Test environment
234+
image: alpine/git:latest
235+
script:
236+
- export HASH_COMMIT=${BITBUCKET_COMMIT:0:8}
237+
- export BRANCH_NAME=$(echo "$BITBUCKET_BRANCH" | tr '[:upper:]' '[:lower:]' | sed 's|/|--|g')
238+
- export BRANCH_FILE=$(echo "$BITBUCKET_BRANCH" | awk -F'/' '{if(NF==1)val=$1;else if(NF==2)val=$2;else if(NF==3)val=$2;else val=$3;gsub(/_/, "-", val);print tolower(val)}')
239+
- git clone https://x-token-auth:${DSPACE_VALUES_ACCESS_TOKEN}@${DSPACE_VALUES_REPO}
240+
- cd dspace-values
241+
- '[ -f "test/${BRANCH_FILE}" ] && sed -i "s/^\([[:space:]]*replicaCount:\) 0/\1 1/" "staging/${BRANCH_FILE}"'
242+
- git config --global user.email "${BB_USER}"
243+
- git config --global user.name "${BB_EMAIL}"
244+
- git commit -am "Enable test environment for ${BRANCH_NAME}" || echo "No changes to commit"
245+
- git push
246+
217247
- step: &find-and-invalidate-cloudfront-dev
218248
name: Invalidate CloudFront Dev Cache
219249
image: amazon/aws-cli
@@ -236,6 +266,17 @@ definitions:
236266
- export CLOUDFRONT_DISTRIBUTION_ID=$(aws cloudfront list-distributions --query "DistributionList.Items[?Comment=='staging--${CLOUDFRONT_NAME}'].Id" --output text)
237267
- aws cloudfront create-invalidation --distribution-id $CLOUDFRONT_DISTRIBUTION_ID --paths "/*"
238268

269+
- step: &find-and-invalidate-cloudfront-test
270+
name: Invalidate CloudFront Test Cache
271+
image: amazon/aws-cli
272+
script:
273+
- export AWS_ACCESS_KEY_ID=$AWS_ACCESS_CF_KEY_ID
274+
- export AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_CF_KEY
275+
- export AWS_DEFAULT_REGION=$AWS_REGION
276+
- export CLOUDFRONT_NAME=$(echo "$BITBUCKET_BRANCH" | awk -F'/' '{if(NF==1)val=$1;else if(NF==2)val=$2;else if(NF==3)val=$2;else val=$3;gsub(/_/, "-", val);print tolower(val)}')
277+
- export CLOUDFRONT_DISTRIBUTION_ID=$(aws cloudfront list-distributions --query "DistributionList.Items[?Comment=='test--${CLOUDFRONT_NAME}'].Id" --output text)
278+
- aws cloudfront create-invalidation --distribution-id $CLOUDFRONT_DISTRIBUTION_ID --paths "/*"
279+
239280
pipelines:
240281
custom:
241282
e2e-on-custom-backend:
@@ -253,6 +294,8 @@ pipelines:
253294
- step: *turn-on-dev
254295
turn-on-staging:
255296
- step: *turn-on-staging
297+
turn-on-test:
298+
- step: *turn-on-test
256299
branches:
257300
'dspace-cris-2024_02_x':
258301
- step: *preliminary-operation
@@ -272,6 +315,14 @@ pipelines:
272315
- step: *find-and-invalidate-cloudfront-dev
273316
- step: *deploy-on-staging
274317
- step: *find-and-invalidate-cloudfront-staging
318+
'test/**':
319+
- step: *preliminary-operation
320+
- step: *angular-build
321+
- parallel: *parallel-run-tests
322+
- step: *build-and-push
323+
- step: *deploy-on-test
324+
- step: *find-and-invalidate-cloudfront-test
325+
275326
pull-requests:
276327
'**':
277328
- step: *preliminary-operation

0 commit comments

Comments
 (0)