-
Notifications
You must be signed in to change notification settings - Fork 0
/
test-manifest-archived.yaml
174 lines (154 loc) · 4 KB
/
test-manifest-archived.yaml
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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
archived: true
builder:
os: windows
track: nanoserver-1809-stable
labels:
app: estafette-ci-builder
team: estafette-team
language: golang
version:
semver:
major: 1
minor: 2
patch: '{{auto}}'
labelTemplate: '{{branch}}'
releaseBranch: main
env:
VAR_A: Greetings
VAR_B: World
# automatically executed stages on a push to the repository
stages:
build:
image: golang:1.8.0-alpine
workDir: /go/src/github.com/estafette/estafette-ci-builder
commands:
- go test -v ./...
- CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o ./publish/estafette-ci-builder .
bake:
image: docker:17.03.0-ce
shell: /bin/bash
commands:
- cp Dockerfile ./publish
- docker build -t estafette-ci-builder ./publish
set-build-status:
image: extensions/github-status:0.0.2
when:
server == 'estafette'
push-to-docker-hub:
image: docker:17.03.0-ce
commands:
- docker login --username=${ESTAFETTE_DOCKER_HUB_USERNAME} --password='${ESTAFETTE_DOCKER_HUB_PASSWORD}'
- docker push estafette/${ESTAFETTE_LABEL_APP}:${ESTAFETTE_BUILD_VERSION}
when:
status == 'succeeded' &&
branch == 'main'
slack-notify:
image: docker:17.03.0-ce
env:
SOME_ENVIRONMENT_VAR: "some value with spaces"
commands:
- 'curl -X POST --data-urlencode ''payload={"channel": "#build-status", "username": "estafette-ci-builder", "text": "Build ${ESTAFETTE_BUILD_VERSION} for ${ESTAFETTE_LABEL_APP} has failed!"}'' ${ESTAFETTE_SLACK_WEBHOOK}'
when:
status == 'failed' ||
branch == 'main'
unknownProperty1: value1
unknownProperty2: value2
unknownProperty3:
- supported1
- supported2
test-alpha-version:
services:
- name: kubernetes
image: bsycorp/kind:latest-1.15
env:
SOME_ENVIRONMENT_VAR: "some value with spaces"
readiness:
path: /kubernetes-ready
timeoutSeconds: 60
port: 80
protocol: http
hostname: kubernetes.kube-system.svc.cluster.local
- name: database
image: cockroachdb/cockroach:v19.1.5
commands:
- cockroachdb start --insecure --listen-addr=localhost
image: extensions/gke:${ESTAFETTE_BUILD_VERSION}
credentials: gke-tooling
app: gke
namespace: estafette
visibility: private
container:
repository: extensions
name: gke
tag: alpha
cpu:
request: 100m
limit: 100m
memory:
request: 256Mi
limit: 256Mi
dryrun: true
parallel-stages-group:
parallelStages:
stageA:
image: docker
stageB:
image: docker
# releases are automatically triggered from stages or manually from gui, cli or slack
releases:
docker-hub:
stages:
push-image:
image: extensions/push-to-docker-registry:dev
beta:
stages:
tag-container-image:
image: extensions/docker:stable
action: tag
container: gke
repositories:
- extensions
tags:
- beta
development:
builder:
track: stable
os: linux
stages:
deploy:
image: extensions/deploy-to-kubernetes-engine:dev
staging:
stages:
deploy:
image: extensions/gke:beta
volumemounts:
- name: client-certs
mountpath: /cockroach-certs
volume:
secret:
secretName: estafette.client.estafette
items:
- key: key
path: key
mode: 600
enabled: true
- key: cert
path: cert
parallel-stages-group:
parallelStages:
stageA:
image: docker
stageB:
image: docker
production:
actions:
- name: deploy-canary
- name: rollback-canary
- name: deploy-stable
clone: true
stages:
deploy:
image: extensions/deploy-to-kubernetes-engine:stable
create-release-notes:
image: extensions/create-release-notes-from-changelog:stable
tooling: