Concourse
Concourse is an open-source continuous thing-doer. Built on the simple mechanics of resources, tasks, and jobs, Concourse presents a general approach to automation that makes it great for CI/CD.
🌐 concourse-ci.org, GitHub, docs
Learn
Key features
Quick start
Run locally in 5 minutes
Download the container configuration:
wget https://concourse-ci.org/docker-compose.yml
Start the containes:
docker-compose up -d
Open localhost:8080 and login with test/test (may not work on Firefox)
Look at the workers:
fly -t localhost workers
Stop the containers and cleans the resources:
docker-compose down --volumes
Presentations
- A Pivotal Introduction to Concourse CI - October 2, 2019
- Concourse CI 102 - Taylor Silva & Scott Foerster, Pivotal - Sep 19, 2019
- Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment Workflows - Cameron Stewart - Jun 17, 2019
- Concourse ❤ Container Runtime - Topher Bullock, Pivotal - Apr 27, 2018
- Introduction (French): CD meetup, Devoxx, Paris Container Day (GitHub) - March 22, 2018
Tutorials
- Concourse Tutorial by Stark & Wayne (GitHub)
- Using Concourse CI/CD to publish Helm charts to ChartMuseum and report results to Slack (part #1) - Feb 19, 2019
Roadmap
Background
Samples
Recipes
- Run docker-compose
- Leverage Docker image cache
- How to pass job's output to a different job
- Why does Concourse
get
a resource afterput
ing it? - Difference between PUT and OUTPUT steps in Concourse
Hosting
Docker
Kubernetes
Helm
Official chart: concourse.github.io/concourse-chart (concourse/concourse-chart)
# old version: works on AKS (just need to wait for all pods to be green, with attachment to pvc and startup)
helm install my-name stable/concourse
# have a quick look at the web interface
kubectl get pods --namespace default -l "app=my-name-web" -o jsonpath="{.items[0].metadata.name}"
kubectl port-forward --namespace default my-name-web-xxxx-xxxx 8080:8080
# new version: doesn't work (Error: unable to build kubernetes objects from release manifest: error validating "": error validating data: [unknown object type "nil" in ConfigMap.data.config-rbac.yml, unknown object type "nil" in ConfigMap.data.main-team.yml])
helm repo add concourse https://concourse-charts.storage.googleapis.com/
helm install my-name concourse/concourse
# uninstall the chart
helm delete my-name
# clean-up the persistant volumes
Other articles:
- Installing Concourse 5.0 on Kubernetes using Helm by Josh Ghiloni - Mar 29, 2019
Vagrant
- Continuous Delivery of a Microservice Architecture using Concourse.ci, Cloud Foundry and Artifactory
VM
- Ubuntu installation
- How To Install Concourse CI on Ubuntu 16.04 - May 26, 2017
- concourse/concourse-bosh-deployment
Azure
- azure.microsoft.com (Azure/azure-quickstart-templates): an outdated but still working template
- pivotal-cf/azure-concourse
SaaS
Pivotal
Cloud Foundation (GCP)
Tools
Visual Studio Code
- Extension made by Pivotal: Concourse CI Pipeline Editor