@@ -18,18 +18,18 @@ definitions:
1818 - git config --global user.name "${BB_EMAIL}"
1919 - git clone https://x-token-auth:${E2ERUNNERS_ACCESS_TOKEN}@${E2E_VALUES_REPO}
2020 - cd e2erunners-values
21- - sed "s#HASH_COMMIT#${HASH_COMMIT}#g" TPL >> ${HASH_COMMIT}
21+ - sed "s#HASH_COMMIT#${HASH_COMMIT}#g" TPL > ${HASH_COMMIT}
2222 - sed -i "s#BRANCH_NAME#${BRANCH_NAME}#g" TPL ${HASH_COMMIT}
2323 - git add ${HASH_COMMIT}
24- - git commit -m "Add configuration for e2e-${HASH_COMMIT}"
24+ - git commit -m "Add configuration for e2e-${HASH_COMMIT}" || echo "No changes to commit"
2525 - git push
2626 - cd ..
2727 - git clone https://x-token-auth:${HELM_CHARTS_ACCESS_TOKEN}@${HELM_CHARTS_REPO}
2828 - cd helm-charts
2929 - PATH_VALUE=" e2e-$HASH_COMMIT"
3030 - printf " - name:%s\n" "$PATH_VALUE" >> ${E2E_VALUES}
3131 - git add e2e-ingress/values.yaml
32- - git commit -m "Add ${HASH_COMMIT} to e2e-ingress values"
32+ - git commit -m "Add ${HASH_COMMIT} to e2e-ingress values" || echo "No changes to commit"
3333 - git push
3434 - cd ..
3535
@@ -44,18 +44,18 @@ definitions:
4444 - git config --global user.name "${BB_EMAIL}"
4545 - git clone https://x-token-auth:${E2ERUNNERS_ACCESS_TOKEN}@${E2E_VALUES_REPO}
4646 - cd e2erunners-values
47- - sed "s#HASH_COMMIT#${HASH_COMMIT}#g" TPL >> ${HASH_COMMIT}
47+ - sed "s#HASH_COMMIT#${HASH_COMMIT}#g" TPL > ${HASH_COMMIT}
4848 - sed -i "s#BRANCH_NAME#${BRANCH_NAME}#g" TPL ${HASH_COMMIT}
4949 - git add ${HASH_COMMIT}
50- - git commit -m "Add configuration for e2e-${HASH_COMMIT}"
50+ - git commit -m "Add configuration for e2e-${HASH_COMMIT}" || echo "No changes to commit"
5151 - git push
5252 - cd ..
5353 - git clone https://x-token-auth:${HELM_CHARTS_ACCESS_TOKEN}@${HELM_CHARTS_REPO}
5454 - cd helm-charts
5555 - PATH_VALUE=" e2e-$HASH_COMMIT"
5656 - printf " - name:%s\n" "$PATH_VALUE" >> ${E2E_VALUES}
5757 - git add e2e-ingress/values.yaml
58- - git commit -m "Add ${HASH_COMMIT} to e2e-ingress values"
58+ - git commit -m "Add ${HASH_COMMIT} to e2e-ingress values" || echo "No changes to commit"
5959 - git push
6060 - cd ..
6161
@@ -163,10 +163,10 @@ definitions:
163163 - 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)}')
164164 - git clone https://x-token-auth:${DSPACE_VALUES_ACCESS_TOKEN}@${DSPACE_VALUES_REPO}
165165 - cd dspace-values
166- - ' [ -f "dev/${BRANCH_FILE}" ] && sed -i "/^angular:/,/^[^ ]/s/\(tag: \).*/\1${BRANCH_NAME}-${HASH_COMMIT}/" "dev/${BRANCH_FILE}"'
166+ - ' [ -f "dev/${BRANCH_FILE}" ] && sed -i "/^angular:/,/^[^ ]/s/\(tag: \).*/\1${BRANCH_NAME}-${HASH_COMMIT}/" "dev/${BRANCH_FILE}" && sed -i "s/^\([[:space:]]*replicaCount:\) 0/\1 1/" "dev/${BRANCH_FILE}" '
167167 - git config --global user.email "${BB_EMAIL}"
168168 - git config --global user.name "${BB_USER}"
169- - git commit -am "Update TAG with ${BRANCH_NAME}-${HASH_COMMIT}"
169+ - git commit -am "Update TAG with ${BRANCH_NAME}-${HASH_COMMIT}" || echo "No changes to commit"
170170 - git push
171171
172172 - step : &deploy-on-staging
@@ -178,12 +178,64 @@ definitions:
178178 - 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)}')
179179 - git clone https://x-token-auth:${DSPACE_VALUES_ACCESS_TOKEN}@${DSPACE_VALUES_REPO}
180180 - cd dspace-values
181- - ' [ -f "staging/${BRANCH_FILE}" ] && sed -i "/^angular:/,/^[^ ]/s/\(tag: \).*/\1${BRANCH_NAME}-${HASH_COMMIT}/" "staging/${BRANCH_FILE}"'
181+ - ' [ -f "staging/${BRANCH_FILE}" ] && sed -i "/^angular:/,/^[^ ]/s/\(tag: \).*/\1${BRANCH_NAME}-${HASH_COMMIT}/" "staging/${BRANCH_FILE}" && sed -i "s/^\([[:space:]]*replicaCount:\) 0/\1 1/" "staging/${BRANCH_FILE}" '
182182 - git config --global user.email "${BB_EMAIL}"
183183 - git config --global user.name "${BB_USER}"
184- - git commit -am "Update TAG with ${BRANCH_NAME}-${HASH_COMMIT}"
184+ - git commit -am "Update TAG with ${BRANCH_NAME}-${HASH_COMMIT}" || echo "No changes to commit"
185185 - git push
186186
187+ - step : &turn-on-dev
188+ name : Turn On Dev 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 "dev/${BRANCH_FILE}" ] && sed -i "s/^\([[:space:]]*replicaCount:\) 0/\1 1/" "dev/${BRANCH_FILE}"'
197+ - git config --global user.email "${BB_USER}"
198+ - git config --global user.name "${BB_EMAIL}"
199+ - git commit -am "Enable dev environment for ${BRANCH_NAME}" || echo "No changes to commit"
200+ - git push
201+
202+ - step : &turn-on-staging
203+ name : Turn On Staging environment
204+ image : alpine/git:latest
205+ script :
206+ - export HASH_COMMIT=${BITBUCKET_COMMIT:0:8}
207+ - export BRANCH_NAME=$(echo "$BITBUCKET_BRANCH" | tr '[:upper:]' '[:lower:]' | sed 's|/|--|g')
208+ - 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)}')
209+ - git clone https://x-token-auth:${DSPACE_VALUES_ACCESS_TOKEN}@${DSPACE_VALUES_REPO}
210+ - cd dspace-values
211+ - ' [ -f "staging/${BRANCH_FILE}" ] && sed -i "s/^\([[:space:]]*replicaCount:\) 0/\1 1/" "staging/${BRANCH_FILE}"'
212+ - git config --global user.email "${BB_USER}"
213+ - git config --global user.name "${BB_EMAIL}"
214+ - git commit -am "Enable staging environment for ${BRANCH_NAME}" || echo "No changes to commit"
215+ - git push
216+
217+ - step : &find-and-invalidate-cloudfront-dev
218+ name : Invalidate CloudFront Dev Cache
219+ image : amazon/aws-cli
220+ script :
221+ - export AWS_ACCESS_KEY_ID=$AWS_ACCESS_CF_KEY_ID
222+ - export AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_CF_KEY
223+ - export AWS_DEFAULT_REGION=$AWS_REGION
224+ - 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)}')
225+ - export CLOUDFRONT_DISTRIBUTION_ID=$(aws cloudfront list-distributions --query "DistributionList.Items[?Comment=='dev--${CLOUDFRONT_NAME}'].Id" --output text)
226+ - aws cloudfront create-invalidation --distribution-id $CLOUDFRONT_DISTRIBUTION_ID --paths "/*"
227+
228+ - step : &find-and-invalidate-cloudfront-staging
229+ name : Invalidate CloudFront Staging Cache
230+ image : amazon/aws-cli
231+ script :
232+ - export AWS_ACCESS_KEY_ID=$AWS_ACCESS_CF_KEY_ID
233+ - export AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_CF_KEY
234+ - export AWS_DEFAULT_REGION=$AWS_REGION
235+ - 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)}')
236+ - export CLOUDFRONT_DISTRIBUTION_ID=$(aws cloudfront list-distributions --query "DistributionList.Items[?Comment=='staging--${CLOUDFRONT_NAME}'].Id" --output text)
237+ - aws cloudfront create-invalidation --distribution-id $CLOUDFRONT_DISTRIBUTION_ID --paths "/*"
238+
187239pipelines :
188240 custom :
189241 e2e-on-custom-backend :
@@ -196,6 +248,11 @@ pipelines:
196248 - step : *angular-build
197249 - step : *build-and-push
198250 - step : *deploy-on-dev
251+ - step : *find-and-invalidate-cloudfront-dev
252+ turn-on-dev :
253+ - step : *turn-on-dev
254+ turn-on-staging :
255+ - step : *turn-on-staging
199256 branches :
200257 ' main-cris ' :
201258 - step : *preliminary-operation
@@ -208,14 +265,18 @@ pipelines:
208265 - parallel : *parallel-run-tests
209266 - step : *build-and-push
210267 - step : *deploy-on-dev
268+ - step : *find-and-invalidate-cloudfront-dev
211269 - step : *deploy-on-staging
270+ - step : *find-and-invalidate-cloudfront-staging
212271 ' prod/** ' :
213272 - step : *preliminary-operation
214273 - step : *angular-build
215274 - parallel : *parallel-run-tests
216275 - step : *build-and-push
217276 - step : *deploy-on-dev
277+ - step : *find-and-invalidate-cloudfront-dev
218278 - step : *deploy-on-staging
279+ - step : *find-and-invalidate-cloudfront-staging
219280 pull-requests :
220281 ' ** ' :
221282 - step : *preliminary-operation
0 commit comments