Clone concourse-docker locally on Ubuntu.

git clone

Change to the concourse-docker directory.

cd concourse-docker

Generate keys for your local linux Concourse environment.


Run Concourse. If you see an error regarding Version in "./docker-compose.yml" is unsupported then edit docker-compose.yml and change the version to 2, or whatever is appropriate for your docker-compose version installed.

Note that I am using the real IP address for my machine. This is necessary. Also, note the credentials being set here.

	docker-compose up

Open a new terminal window/tab.

Download the Concourse Linux cli tool from your local instance now that it is running. The cli is called fly.

curl \
	-o fly \

Make fly executable and put it in your PATH.

chmod +x fly && sudo cp fly /usr/local/bin/

Log in to your Concourse instance using fly. The credentials are what we specified above when we started Concourse. The username is concourse and the password is changeme.

fly -t lite login --concourse-url http://localhost:8080

This step should be unecessary, but if the cli and server are ever out of sync, this can change fly to the appropriate version.

fly -t lite sync

Create a sample, empty, pipeline.

touch my-pipeline.yml

Install your empty pipeline in Concourse.

fly \
	-t lite \
	set-pipeline \
	-p my-pipeline \
	-c my-pipeline.yml

Unpause your empty pipeline since it is paused by default when it is created.

fly \
	-t lite \
	unpause-pipeline \
	--pipeline my-pipeline

Create a simple task for Concourse. You could put this task file anywhere, but we will use the current directory for now. Create a file named my-task.yml in the current directory. Include the --- at the top of the file.

platform: linux

  type: docker-image
    repository: debian
    tag: latest

- name: scripts

  path: scripts/

Create a scripts directory.

mkdir -p scripts

Create a simple bash script named inside the scripts directory.

#!/usr/bin/env bash

set -x


ls /

Make executable.

chmod +x

Run it!

fly \
	-t lite \
	execute \
	--config my-task.yml \
	--input scripts=./scripts

You should see your script run. Congratulations! You have just created a basic Concourse task on Linux.