UNPKG

decentralized-internet

Version:

An NPM library of programs to create decentralized web and distributed computing projects

62 lines (61 loc) 1.37 kB
--- stages: - name: BUILD inputs: - type: git branch: master service: ${SAMPLE_REPO} triggers: - type: commit jobs: - name: Build type: builder - name: DEPLOY inputs: - type: job stage: BUILD job: Build triggers: - type: stage properties: - name: CF_APP_NAME value: undefined type: text - name: APP_URL value: undefined type: text jobs: - name: Blue-Green Deploy type: deployer target: region_id: ${PROD_REGION_ID} organization: ${PROD_ORG_NAME} space: ${PROD_SPACE_NAME} application: ${CF_APP_NAME} script: | #!/bin/bash # Push app if ! cf app $CF_APP; then cf push $CF_APP else OLD_CF_APP=${CF_APP}-OLD-$(date +"%s") rollback() { set +e if cf app $OLD_CF_APP; then cf logs $CF_APP --recent cf delete $CF_APP -f cf rename $OLD_CF_APP $CF_APP fi exit 1 } set -e trap rollback ERR cf rename $CF_APP $OLD_CF_APP cf push $CF_APP cf delete $OLD_CF_APP -f fi # Export app name and URL for use in later Pipeline jobs export CF_APP_NAME="$CF_APP" export APP_URL=http://$(cf app $CF_APP_NAME | grep urls: | awk '{print $2}') # View logs #cf logs "${CF_APP}" --recent