Picsolve Docker Builder
Example config file .docker-builder.yml
---
compose:
app_name: hello_world
clusters:
- dev-1b.kubernetes.picsolve.net
- dev-1c.kubernetes.picsolve.net
containers:
container1:
image: docker.picsolve.net/image1
environment:
default:
- COOL=${variable:cool}
- TERM=xterm
- "DB_USER=#{variable:db_username}"
- "DB_PASSWORD=#{secret:database:password}"
- "DB_NAME=#{stage}-#{app_name}"
qa:
- ENABLE_QA=1
ci:
- ENABLE_CI=1
ports:
- container_port: 9000
service_port: 9000
requirements:
bucket:
type: s3bucket
database:
type: postgres
variables:
default:
cool: yes
db_username: dbuser_default
ci:
db_username: dbuser_ci
qa:
db_username: dbuser_qa
docker:
base_image: base-image-name
image_name: dest-image-name
build_environment:
- TERM=xterm
build_requirements:
bucket:
type: s3bucket
database:
type: postgres
dockerfile_hooks:
asset_build:
early: |
RUN touch /tmp/asset_build_earliest_time.txt
late: |
RUN touch /tmp/asset_build_latest_time.txt
docker_build:
early: |
RUN touch /tmp/docker_build_earliest_time.txt
late: |
RUN touch /tmp/docker_build_latest_time.txt
scala:
sbt:
build_task:
- clean
- "universal:packageZipTarball"
Release process
This gem is released publicly to Rubygems repositories. To trigger a release you have to do the following steps:
# Ensure all the tests are running
bundle exec rake test_integration
# Release to rubygems (account information is in the Vault)
bundle exec rake release