Advertisement
s4ros

terraform-circleci-config.yml

Mar 11th, 2019
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 1.51 KB | None | 0 0
  1. version: 2.1
  2.  
  3. executors:
  4.   terraform:
  5.     working_directory: ~/repo
  6.     docker:
  7.       - image: hashicorp/terraform:0.11.10
  8.  
  9.   python:
  10.     working_directory: ~/repo
  11.     docker:
  12.       - image: circleci/python:2.7-jessie
  13.  
  14. commands:
  15.   validate-terraform:
  16.     parameters:
  17.       environment:
  18.         type: enum
  19.         description: Environment to check
  20.         enum: ["staging", "production"]
  21.         default: "production"
  22.     steps:
  23.       - attach_workspace:
  24.           at: ~/repo
  25.       - run:
  26.           name: Validate terraform code
  27.           command: |
  28.            cd << parameters.environment >>
  29.             terraform init --input=false -backend-config "bucket=circleci"   -backend-config "region=us-east-1"   -backend-config "key=stackin/production"
  30.             terraform validate
  31.       - persist_to_workspace:
  32.           root: ~/repo
  33.           paths:
  34.            - << parameters.environment >>/.terraform
  35.  
  36. jobs:
  37.   checkout_code:
  38.     executor: python
  39.     steps:
  40.      - checkout
  41.       - persist_to_workspace:
  42.           root: ~/repo
  43.           paths:
  44.            - .
  45.  
  46.   validation-production:
  47.     executor: terraform
  48.     working_directory: ~/repo
  49.     steps:
  50.       - attach_workspace:
  51.           at: ~/repo
  52.       - validate-terraform:
  53.           environment: production
  54.  
  55. workflows:
  56.   version: 2
  57.   validate:
  58.     jobs:
  59.      - checkout_code
  60.       - validation-production:
  61.           requires:
  62.            - checkout_code
  63.           filters:
  64.             branches:
  65.               only: master
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement