Slide 1

Slide 1 text

Concourse: CI as Code Josh Hill @jamesjoshuahill Henry Stanley @henryaj

Slide 2

Slide 2 text

Every team has a process

Slide 3

Slide 3 text

We automated each step

Slide 4

Slide 4 text

Let’s automate the whole process

Slide 5

Slide 5 text

ATC TSA fly baggage claim cabin blackbox jettison autopilot hangar gate

Slide 6

Slide 6 text

How was your flight?

Slide 7

Slide 7 text

Safety takes time and effort

Slide 8

Slide 8 text

CI has broken

Slide 9

Slide 9 text

We need a first-class pipeline

Slide 10

Slide 10 text

Concourse

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

name: unit plan: - get: app trigger: true - task: unit file: app/ci/ unit.yml Job name: app type: git source: uri: [email protected]/ app.git branch: master Resource Task platform: linux image: docker:///ruby inputs: - name: app run: path: app/ci/ unit.sh

Slide 13

Slide 13 text

git stemcell s3 time job

Slide 14

Slide 14 text

job cf bosh s3 git semver tracker

Slide 15

Slide 15 text

• UI is immutable • All configuration is in YAML • fly configure • fly execute

Slide 16

Slide 16 text

• Clean containers for every build • Lightweight + BOSH deployable • Recreate a pipeline from scratch in seconds • YAML is not XML • No manual cf push

Slide 17

Slide 17 text

Demo

Slide 18

Slide 18 text

Gotchas • need to use BOSH • fussy about credential formatting • mind your credentials – use HTTPS! • under rapid development • some UI bugs

Slide 19

Slide 19 text

Would Concourse work for you?

Slide 20

Slide 20 text

Concourse: CI as Code Josh Hill @jamesjoshuahill Henry Stanley @henryaj