Advertisement
Guest User

Untitled

a guest
Nov 14th, 2018
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 1.58 KB | None | 0 0
  1. ---
  2. stages:
  3.  - build
  4.   - deploy
  5.  
  6. before_script:
  7.  - apk add --no-cache python3
  8.   - pip3 install awscli
  9.  
  10. variables:
  11.   STACK_PREFIX: my-project
  12.  
  13. .varsawsprod: &varsawsprod
  14.   AWS_ACCESS_KEY_ID: $PROD_AWS_ACCESS_KEY_ID
  15.   AWS_SECRET_ACCESS_KEY: $PROD_AWS_SECRET_ACCESS_KEY
  16.   CLOUD_ENV_TYPE: prod
  17.  
  18. .varsawsdev: &varsawsdev
  19.   AWS_ACCESS_KEY_ID: $DEV_AWS_ACCESS_KEY_ID
  20.   AWS_SECRET_ACCESS_KEY: $DEV_AWS_ACCESS_KEY_ID
  21.   CLOUD_ENV_TYPE: dev
  22.  
  23. .build-job:
  24.   tags:
  25.    - default
  26.   script:
  27.    - build something
  28.     - ahhh, push it
  29.  
  30. .deploy-job:
  31.   tags:
  32.    - default
  33.   script:
  34.    - export STACK_NAME="$STACK_PREFIX-$CLOUD_ENV_TYPE"
  35.     - >-
  36.       aws cloudformation deploy_that_shit --stack-name $STACK_NAME
  37.       --parameter-overrides EnvType=$CLOUD_ENV_TYPE
  38.  
  39. build-dev:
  40.   stage: build
  41.   only:
  42.    - dev
  43.   extends: .build-job
  44.   variables:
  45.     SOME_BUILD_SPECIFIC_DEV_VAR: 'PuddinPops'
  46.     <<: *varsawsdev
  47.  
  48. build-prod:
  49.   stage: build
  50.   only:
  51.    - master
  52.   extends: .build-job
  53.   variables:
  54.     SOME_BUILD_SPECIFIC_PROD_VAR: 'PuddinPops 2: A New Beginning'
  55.     <<: *varsawsprod
  56.  
  57. deploy-dev:
  58.   stage: deploy
  59.   only:
  60.    - dev
  61.   extends: .deploy-job
  62.   variables:
  63.     MAYBE_SOME_DEPLOY_SPECIFIC_DEV_VAR: 'PuddinPops 1: The Second One'
  64.     <<: *varsawsdev
  65.   environment:
  66.     name: development
  67.     url: mydevurl.website.com
  68.  
  69. deploy-prod:
  70.   stage: deploy
  71.   only:
  72.    - master
  73.   extends: .deploy-job
  74.   variables:
  75.     MAYBE_SOME_DEPLOY_SPECIFIC_PROD_VAR: 'PuddinPops E=Mc2'
  76.     <<: *varsawsprod
  77.   environment:
  78.     name: production
  79.     url: myprodurl.website.com
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement