Concourse
Concourse is a CI tool that treats pipelines as first class objects and containerizes every step along the way.
Directory Structure
- .env
- docker-compose.yml
docker-compose.yml
version: '3'
services:
db:
image: postgres
environment:
POSTGRES_DB: concourse
POSTGRES_USER: concourse_user
POSTGRES_PASSWORD: concourse_pass
logging:
driver: "json-file"
options:
max-file: "5"
max-size: "10m"
web:
image: concourse/concourse
command: web
links: [db]
depends_on: [db]
ports: ["8080:8080"]
volumes: ["./keys/web:/concourse-keys"]
environment:
CONCOURSE_EXTERNAL_URL: http://localhost:8080
CONCOURSE_POSTGRES_HOST: db
CONCOURSE_POSTGRES_USER: concourse_user
CONCOURSE_POSTGRES_PASSWORD: concourse_pass
CONCOURSE_POSTGRES_DATABASE: concourse
CONCOURSE_ADD_LOCAL_USER: test:test
CONCOURSE_MAIN_TEAM_LOCAL_USER: test
logging:
driver: "json-file"
options:
max-file: "5"
max-size: "10m"
worker:
image: concourse/concourse
command: worker
privileged: true
depends_on: [web]
volumes: ["./keys/worker:/concourse-keys"]
links: [web]
stop_signal: SIGUSR2
environment:
CONCOURSE_TSA_HOST: web:2222
# enable DNS proxy to support Docker's 127.x.x.x DNS server
CONCOURSE_GARDEN_DNS_PROXY_ENABLE: "true"
logging:
driver: "json-file"
options:
max-file: "5"
max-size: "10m"Resources
Website: https://concourse-ci.org/
GitHub: https://github.com/concourse/concourse
Docker Hub: https://hub.docker.com/r/concourse/concourse
Configuration: https://github.com/concourse/concourse-docker