At Stark & Wayne we’re still enjoying and expanding our use of Concourse for build/test/release pipelines and deployment promotion pipelines. For one, the dashboard looks awesome:
Whilst the dashboard is great, it is only useful if people are looking at it. If a job fails and no one saw it, did it actually fail?
So we wanted our pipelines to be a little chatty – to send us different messages if important steps succeed or fail:
The above message came after the shipit
job succeeded in cutting a new release.
Sometimes jobs fail and we want to know about it:
Integrating Concourse with Slack
In the examples above we’re using Slack. For another client we’re using Flowdock and will writeup that integration soon.
Thanks to Kamil Burzynski @Nopik for creating a slack-notification-resource and getting us started.
Next we packaged the resource as a Docker image on Docker Hub [link] and as an embedded BOSH release
https://github.com/cloudfoundry-community/slack-notification-resource-boshrelease
Note: at the time of writing, we’re managing a downstream fork of the resource repo https://github.com/cloudfoundry-community/slack-notification-resource with some extra features awaiting merging upstream. The Docker image and BOSH release include these new features.
We have this running within http://ci.starkandwayne.com:8080 as well as our clients’ Concourse installations.
Usage
It seems to work really nicely.
There are two main uses:
- a static message that’s the same every time (baked into the
pipeline.yml
) - a dynamic message that is prepared by a previous step
Simple pipeline example
There are some example pipelines to show the basic usage at https://github.com/cloudfoundry-community/slack-notification-resource-boshrelease/tree/master/examples
Additionally, our rdpg-boshrelease pipeline has additional examples https://github.com/starkandwayne/rdpg-boshrelease/blob/master/ci/pipeline.yml