Skip to content

sirech/example-concourse-pipeline

Repository files navigation

Example Concourse Pipeline

This is an example for a pipeline for Concourse CI. It is intended to be used as a base to build high quality pipelines.

It is using a sample JavaScript project, but it can be easily adapted to serve any other language.

Running a local concourse

Inspired by this, I've added a script to run an instance of Concourse locally for testing purposes. Just do:

./concourse/run

It is available under localhost:8080 (test/test for auth)

Adding the pipeline to the local installation

A local docker registry is running so that the development image can be stored. Add the pipeline to the local installation with

./go update-pipeline

Changing the pipeline

Note that the pipeline is generated dynamically by using jsonnet. See this blog post for more context about it.

Running things

There is a go script that is the entrypoint of all the tasks. Simply run it without arguments to get a list of available targets.

Requirements

  • node (last tested with v13.6.0)
  • yarn (last tested with 1.21.1)
  • ruby (last tested with 2.6.3)

ServerSpec

ServerSpec allows you to run unit tests for infrastructure. You can use it to test that your containers, both build and production, are being created correctly.

Running it in a pipeline is notoriously difficult, and you end up running in the Docker in Docker issue. This repository contains some ready-to-use blocks that can make your life easier.

In order to run these tests, you need: