Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Continuous Integration / Delivery with Concourse

Continuous Integration / Delivery with Concourse

PrairieDevCon 2017 talk on "Continuous Integration / Delivery with Concourse"

Mark St.Godard

June 07, 2017
Tweet

More Decks by Mark St.Godard

Other Decks in Programming

Transcript

  1. ▸ Open Source (Apache 2) ▸ Developed / Sponsored by

    Pivotal ▸ Written in Go ▸ Run as a standalone binary ▸ Deploy using a cluster manager (bosh, k8s) ▸ https://github.com/Azure/azure-quickstart-templates/ tree/master/concourse-ci ▸ or Vagrant if just want to play around / get started
  2. ▸Something that can be checked for new versions ▸Git repo,

    docker image, s3 bucket, time, semver ▸ Flows through the pipeline RESOURCES
  3. ▸What to do when a Resource changes ▸Build Plan of

    one or more Tasks ▸ Series of tasks with inputs and outputs JOBS
  4. ▸Smallest unit of work ▸Runs in a container ▸ Inputs

    and (optional) Outputs ▸Scripts pass / fail based on standard shell exit codes TASKS
  5. DEMO ▸Quick tour of UI ▸Login, Resources, Jobs, Tasks ▸Manually

    triggering ▸Update the pipeline ▸build docker image, deploy to k8s, smoke tests ▸How are secrets are handled?
  6. ▸24 CI pipelines ▸Merge Requests ▸Unit Tests, Linting ▸Smoke Tests

    ▸Blue / Green Deploys to GKE ▸Versioning (semver) ▸Load Testing ▸Slack notifications ▸Information Radiators
  7. HIGHLY VISIBLE TEAM AND PASSERS-BYS AT A GLANCE INFO CI

    PIPELINE AUTOMATED TESTS PROD METRICS
  8. ▸May be slower for some things, since stateless ▸ i.e.

    npm & composer caches ▸Do you like #!/bin/bash ? ▸Complex pipelines can get gnarly, need to treat like regular code ▸No commercial support ▸But a very active Slack channel & community