forked from sjmiller609/terraform-aws-astronomer-enterprise
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.drone.yml
138 lines (130 loc) · 2.89 KB
/
.drone.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
kind: pipeline
name: terraform-aws-astronomer-enterprise
steps:
- name: lint
image: hashicorp/terraform:light
commands:
- cp providers.tf.example providers.tf
- terraform init
- terraform fmt -check=true
- terraform validate -var "deployment_id=validate" -var "route53_domain=validate-fake.com" -var "email=fake@mailinator.com"
- |
for example in $(find examples -maxdepth 1 -mindepth 1 -type d); do
cp providers.tf $example
cd $example
echo $example
terraform init
terraform fmt -check=true
terraform validate -var "deployment_id=citest"
cd -
done
- terraform -v
when:
event:
- pull_request
- push
- name: ci-environment
image: plugins/docker
settings:
username:
from_secret: DOCKER_USER
password:
from_secret: DOCKER_PASSWORD
repo:
from_secret: DOCKER_REPO
auto_tag: true
dockerfile: pipeline/Dockerfile
when:
event:
- push
- name: terraform_apply
image: sjmiller609/helm-kubectl-terraform:latest
environment:
AWS_ACCESS_KEY_ID:
from_secret: AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY:
from_secret: AWS_SECRET_ACCESS_KEY
commands:
- EXAMPLE=from_scratch pipeline/run_terraform.sh
when:
event:
- push
- name: terraform_destroy
image: sjmiller609/helm-kubectl-terraform:latest
environment:
AWS_ACCESS_KEY_ID:
from_secret: AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY:
from_secret: AWS_SECRET_ACCESS_KEY
commands:
- DESTROY=1 EXAMPLE=from_scratch pipeline/run_terraform.sh
when:
event:
- push
status:
- failure
- success
- name: git_tag
image: docker:git
environment:
DEPLOY_KEY:
from_secret: DEPLOY_KEY
commands:
- eval `ssh-agent`
- echo "$DEPLOY_KEY" | ssh-add -
- TAG=1.0.${DRONE_BUILD_NUMBER}
- git tag $TAG
- mkdir -p $HOME/.ssh
- ssh-keyscan -t rsa github.com >> $HOME/.ssh/known_hosts
- git push $DRONE_GIT_SSH_URL $DRONE_BRANCH --tags
when:
event:
- push
status:
- success
branch:
- master
- name: slack
image: plugins/slack
settings:
webhook:
from_secret: WEBHOOK_URL
channel: ci-debug
username: terraform-ci
template: >
{{repo.name}}
{{build.link}}
{{#success build.status}}
succeeded
{{else}}
failed
{{/success}}
when:
event:
- push
status:
- success
- failure
branch:
- master
repo:
- astronomer/terraform-aws-astronomer-enterprise
- name: slack_tag
image: plugins/slack
settings:
webhook:
from_secret: WEBHOOK_URL
channel: ci-debug
username: terraform-ci
template: >
{{repo.name}}
version {{build.tag}} released
when:
event:
- tag
status:
- success
branch:
- master
repo:
- astronomer/terraform-aws-astronomer-enterprise