Skip to content

Instantly share code, notes, and snippets.

@k33g
Created April 17, 2018 15:48
Show Gist options
  • Save k33g/95f9972c113a2204befbcfbcfb8c44d0 to your computer and use it in GitHub Desktop.
Save k33g/95f9972c113a2204befbcfbcfb8c44d0 to your computer and use it in GitHub Desktop.
image: node:latest
stages:
- 📦build
- 🤞test
- 🦄deploy_tmp_vm
- 🗑destroy_vm
- 🚢deploy_prod
cache:
paths:
- node_modules/
install_dependencies:
stage: 📦build
script:
- npm install
artifacts:
paths:
- node_modules/
tests:
stage: 🤞test
script:
- npm test
deploy:
stage: 🚢deploy_prod
environment:
name: production
url: https://$APP_NAME.cleverapps.io
only:
- /master/
script:
- curl https://clever-tools.cellar.services.clever-cloud.com/releases/latest/clever-tools-latest_linux.tar.gz > clever-tools-latest_linux.tar.gz
- tar -xvf clever-tools-latest_linux.tar.gz
- ./clever login --token $CLEVER_TOKEN --secret $CLEVER_SECRET
- ./clever link $APP_ID
- ./clever deploy
deploy_feature:
stage: 🦄deploy_tmp_vm
when: manual
environment:
name: feature/$CI_COMMIT_REF_NAME
url: https://$APP_NAME-$CI_COMMIT_REF_SLUG.cleverapps.io
except:
- master
script:
- curl https://clever-tools.cellar.services.clever-cloud.com/releases/latest/clever-tools-latest_linux.tar.gz > clever-tools-latest_linux.tar.gz
- tar -xvf clever-tools-latest_linux.tar.gz
- ./clever login --token $CLEVER_TOKEN --secret $CLEVER_SECRET
- ./clever create $APP_NAME-$CI_COMMIT_REF_SLUG -t node --org $ORGANIZATION_NAME --region par --alias $APP_NAME-$CI_COMMIT_REF_SLUG
- ./clever domain add $APP_NAME-$CI_COMMIT_REF_SLUG.cleverapps.io --alias $APP_NAME-$CI_COMMIT_REF_SLUG
- ./clever scale --flavor S --alias $APP_NAME-$CI_COMMIT_REF_SLUG
- ./clever deploy
destroy:
stage: 🗑destroy_vm
when: manual
environment:
name: feature/$CI_COMMIT_REF_NAME
url: https://$APP_NAME-$CI_COMMIT_REF_SLUG.cleverapps.io
except:
- master
script:
- curl https://clever-tools.cellar.services.clever-cloud.com/releases/latest/clever-tools-latest_linux.tar.gz > clever-tools-latest_linux.tar.gz
- tar -xvf clever-tools-latest_linux.tar.gz
- ./clever login --token $CLEVER_TOKEN --secret $CLEVER_SECRET
- ./clever link $APP_NAME-$CI_COMMIT_REF_SLUG --org $ORGANIZATION_NAME
- ./clever delete --yes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment