-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpipeline.yml
143 lines (131 loc) · 4.95 KB
/
pipeline.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
139
140
141
142
143
---
resource_types:
- name: cf-cli
type: docker-image
source:
repository: nulldriver/cf-cli-resource
- name: travis
type: docker-image
source:
repository: rbakergds/travis-resource
tag: latest
resources:
- name: govuk-coronavirus-vulnerable-people-form
type: git
icon: github-circle
source:
uri: https://github.com/alphagov/govuk-coronavirus-vulnerable-people-form
branch: master
- name: govuk-coronavirus-vulnerable-people-form-feature-tests
type: git
icon: github-circle
source:
uri: https://github.com/alphagov/govuk-coronavirus-vulnerable-people-form
branch: master
paths:
- Gemfile*
- .ruby-version
- features/
- name: every-day
type: time
source:
interval: 24h
- name: govuk-coronavirus-vulnerable-people-form-travis-build
type: travis
icon: sync
source:
repository: alphagov/govuk-coronavirus-vulnerable-people-form
travis-token: ((travis-api-token))
branch: master
pro: true
- name: feature-tests-image
type: docker-image
icon: docker
source:
repository: ((readonly_private_ecr_repo_url))
tag: govuk-coronavirus-vulnerable-people-form-feature-tests
jobs:
- name: update-pipeline
plan:
- get: govuk-coronavirus-vulnerable-people-form
trigger: true
- set_pipeline: govuk-corona-vulnerable-people-form
file: govuk-coronavirus-vulnerable-people-form/concourse/pipeline.yml
- name: build-feature-tests-image
serial: true
plan:
- get: every-day
trigger: true
- get: govuk-coronavirus-vulnerable-people-form-feature-tests
trigger: true
- put: feature-tests-image
params:
build: govuk-coronavirus-vulnerable-people-form-feature-tests
dockerfile: govuk-coronavirus-vulnerable-people-form-feature-tests/features/Dockerfile
- name: deploy-to-staging
serial: true
plan:
- get: govuk-coronavirus-vulnerable-people-form-travis-build
trigger: true
- get: govuk-coronavirus-vulnerable-people-form
- task: deploy-to-paas
config:
file: govuk-coronavirus-vulnerable-people-form/concourse/tasks/deploy-to-govuk-paas.yml
params:
CF_SPACE: staging
INSTANCES: 5
CF_STARTUP_TIMEOUT: 5 # minutes
REQUIRE_BASIC_AUTH: "true"
BASIC_AUTH_PASSWORD: ((basic-auth-password))
AWS_ACCESS_KEY_ID: ((aws-access-key-id))
AWS_SECRET_ACCESS_KEY: ((aws-secret-access-key))
SECRET_KEY_BASE: ((secret-key-base-staging))
AWS_DYNAMODB_SUBMISSIONS_TABLE_NAME: coronavirus-vulnerable-people-staging
AWS_ASSETS_BUCKET_NAME: govuk-coronavirus-vulnerable-people-assets-staging
HOSTNAME: govuk-coronavirus-vulnerable-people-form-stg
- name: smoke-test-staging
plan:
- get: govuk-coronavirus-vulnerable-people-form
trigger: true
passed: [deploy-to-staging]
- task: smoke-test
file: govuk-coronavirus-vulnerable-people-form/concourse/tasks/smoke-test.yml
params:
URL: 'https://govuk-coronavirus-vulnerable-people-form-stg.cloudapps.digital/live-in-england'
MESSAGE: "Checks that the application deployed to staging is not serving HTTP error codes"
- task: run-cucumber-specs
file: govuk-coronavirus-vulnerable-people-form/concourse/tasks/run-cucumber-specs.yml
params:
TEST_URL: 'https://gds:((basic-auth-password))@govuk-coronavirus-vulnerable-people-form-stg.cloudapps.digital'
- name: deploy-to-prod
serial: true
plan:
- get: govuk-coronavirus-vulnerable-people-form
trigger: true
passed: [smoke-test-staging]
- task: deploy-to-paas
file: govuk-coronavirus-vulnerable-people-form/concourse/tasks/deploy-to-govuk-paas.yml
params:
CF_SPACE: production
INSTANCES: 20
CF_STARTUP_TIMEOUT: 15 # minutes
REQUIRE_BASIC_AUTH:
BASIC_AUTH_PASSWORD: ((basic-auth-password))
AWS_ACCESS_KEY_ID: ((aws-access-key-id-prod))
AWS_SECRET_ACCESS_KEY: ((aws-secret-access-key-prod))
SECRET_KEY_BASE: ((secret-key-base-prod))
AWS_DYNAMODB_SUBMISSIONS_TABLE_NAME: coronavirus-vulnerable-people-prod
AWS_ASSETS_BUCKET_NAME: govuk-coronavirus-vulnerable-people-assets-prod
HOSTNAME: govuk-coronavirus-vulnerable-people-form-prod
- name: smoke-test-prod
serial: true
plan:
- get: govuk-coronavirus-vulnerable-people-form
trigger: true
passed: [deploy-to-prod]
- task: smoke-test
file: govuk-coronavirus-vulnerable-people-form/concourse/tasks/smoke-test.yml
timeout: 5m
params:
URL: 'https://coronavirus-vulnerable-people.service.gov.uk/live-in-england'
MESSAGE: "Checks that the application deployed to production is not serving HTTP error codes. If this fails, you should investigate immediately."