Parallelism
Pipeline steps are executed sequentially by default. You can optionally describe your build steps as a directed acyclic graph. In the below example we fan-out to execute the first two steps in parallel, and then once complete, we fan-in to execute the final step:
1 kind: pipeline
2 type: kubernetes
3 name: default
4
5 steps:
6 - name: backend
7 image: golang
8 commands:
9 - go build
10 - go test
11
12 - name: frontend
13 image: node
14 commands:
15 - npm install
16 - npm test
17
18 - name: notify
19 image: plugins/slack
20 settings:
21 webhook:
22 from_secret: webhook
23 depends_on:
24 - frontend
25 - backend
The above example is quite simple, however, you can use this syntax to create very complex execution flows.