· 5 years ago · Sep 12, 2020, 01:22 PM
1---
2resources:
3- name: source-code
4 type: git
5 source:
6 uri: git@github.com:repo.repo.git
7 branch: master
8 private_key: |
9 -----BEGIN OPENSSH PRIVATE KEY-----
10 -----END OPENSSH PRIVATE KEY-----
11
12resource_types:
13- name: packer
14 type: docker-image
15 source:
16 repository: snapkitchen/concourse-packer-resource
17 tag: 1.4.3
18
19resources:
20- name: build-ami
21 type: packer
22
23resource_types:
24- name: terraform
25 type: docker-image
26 source:
27 repository: ljfranklin/terraform-resource
28 tag: latest
29
30resources:
31 - name: terraform
32 type: terraform
33 source:
34 env_name: staging
35 backend_type: s3
36 backend_config:
37 bucket: mybucket
38 key: mydir/terraform.tfstate
39 region: us-east-1
40 access_key: VARIABLE
41 secret_key: VARIABLE
42 vars:
43 tag_name: concourse
44 env:
45 AWS_ACCESS_KEY_ID: VARIABLE
46 AWS_SECRET_ACCESS_KEY: VARIABLE
47
48
49jobs:
50 - name: pull_repo
51 public: true
52 plan:
53 - get: source-code
54 trigger: true
55 - task: list-files
56 config:
57 inputs:
58 - name: source-code
59 platform: linux
60 image_resource:
61 type: registry-image
62 source: { repository: busybox }
63 run:
64 path: ls
65 args: ["-la", "./source-code"]
66
67
68jobs:
69- name: my-ami
70 plan:
71 - get: packer
72 - put: build-ami
73 params:
74 template: my-ami-template/template.json
75 var_files:
76 - my-ami-template/my-vars.json
77 env_vars:
78 AWS_DEFAULT_REGION: us-west-1
79 env_vars_from_files:
80 AWS_ACCESS_KEY_ID: role-credentials/access-key-id
81 AWS_SECRET_ACCESS_KEY: role-credentials/secret-access-key
82 AWS_SESSION_TOKEN: role-credentials/session-token
83 vars:
84 environment: dev
85 package_version: 1.2.3
86 vars_from_files:
87 commit_ref: my-ami-template/.git/short_ref
88
89jobs:
90- name: terraform-plan
91 plan:
92 - get: terraform
93 - put: terraform
94 params:
95 env_name: staging
96 terraform_source: project-git-repo/terraform
97 plan_only: true
98 vars:
99 subnet_cidr: 10.0.1.0/24
100
101- name: terraform-apply
102 plan:
103 - get: terraform
104 trigger: false
105 passed: [terraform-plan]
106 - put: terraform
107 params:
108 env_name: staging
109 terraform_source: source-code/terraform
110 plan_run: true