Skip to content

Commit

Permalink
Build docker image on TravisCI
Browse files Browse the repository at this point in the history
  • Loading branch information
dsander committed Apr 10, 2016
1 parent 079be0b commit 995250d
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 5 deletions.
2 changes: 2 additions & 0 deletions .dockerignore
Expand Up @@ -11,6 +11,8 @@ db/*.sqlite3
public/system/*
coverage
spec/tmp/*
.travis.yml
build_docker_image.sh

# Copied from .gitignore
*.rbc
Expand Down
30 changes: 25 additions & 5 deletions .travis.yml
@@ -1,21 +1,41 @@
sudo: false
dist: trusty
sudo: required
language: ruby
services:
- docker
- postgresql
env:
global:
- APP_SECRET_TOKEN=b2724973fd81c2f4ac0f92ac48eb3f0152c4a11824c122bcf783419a4c51d8b9bba81c8ba6a66c7de599677c7f486242cf819775c433908e77c739c5c8ae118d
- secure: fzmSI7PQz6CJiIJNAtLAuy3TMmYCrK4bUil3uufh8JkHfpSGWOZt2i6fZ8yZ7pzwG5Aw7eZDgdFsNcEPJlgUDJhlwjg+QxCJslhotTQ9qI3Ieo85peWlU9dZFTOZcrCu0net/hY2FE4ZpTRb5r8A/DRv9ukA8P8tShhePCjckgg=
- secure: YjW07LpRSiC9xB6PhLQ4LVv2VphvF3IacV43PLfvzdagjy14yAwKXTUlSadgRaMbndB2dlCTe3YcY11a/xtX/2HDrF14NHPXQdL7e2dJUS3CDLSKZK26x1SOiaaDIrl1jO1xr5kOUd+564MAcNUzDTJQR4CrWl/5t6EwW4iYQVc=
- secure: RJiSTB9Anax6uL6mgYY1m42w71ohlsfIlVCk7ho6W19ZfSzQOfom0mBdeNwfgmXsMMnvnqatfxSg8k3C//pRtI/tjzAovHd7t1YIN1IkDNf9uSpzrIeXXc4fSHaVxnl512oI/eBQy9MSBjVZjrg5XEzLKKEGsZCai+ZKB4PS+nM=
matrix:
- DATABASE_ADAPTER=mysql2
- DATABASE_ADAPTER=postgresql DATABASE_USERNAME=postgres
- DOCKER_IMAGE=cantino/huginn-single-process DOCKERFILE=docker/single-process/Dockerfile
- DOCKER_IMAGE=cantino/huginn DOCKERFILE=docker/multi-process/Dockerfile
matrix:
exclude:
- env: DOCKER_IMAGE=cantino/huginn-single-process DOCKERFILE=docker/single-process/Dockerfile
- env: DOCKER_IMAGE=cantino/huginn DOCKERFILE=docker/multi-process/Dockerfile
include:
- rvm: 2.3.0
env: DATABASE_ADAPTER=mysql2 DOCKER_IMAGE=cantino/huginn-single-process DOCKERFILE=docker/single-process/Dockerfile
- rvm: 2.3.0
env: DATABASE_ADAPTER=mysql2 DOCKER_IMAGE=cantino/huginn DOCKERFILE=docker/multi-process/Dockerfile
rvm:
- 2.0.0
- 2.1
- 2.2
- 2.3.0
cache: bundler
bundler_args: --without development production
before_script:
- bundle exec rake db:create db:migrate
script: bundle exec rake
before_install:
- sudo apt-get -qq update
- sudo apt-get install -y mysql-server
script:
- if [ -z "${DOCKER_IMAGE}" ]; then bundle exec rake db:create db:migrate && bundle exec rake; else ./build_docker_image.sh; fi
notifications:
irc:
channels:
Expand All @@ -29,4 +49,4 @@ notifications:
- https://webhooks.gitter.im/e/5f92cc0393c6f1defe0d
on_success: change # options: [always|never|change] default: always
on_failure: always # options: [always|never|change] default: always
on_start: false # default: false
on_start: never # options: [always|never|change] default: never
14 changes: 14 additions & 0 deletions build_docker_image.sh
@@ -0,0 +1,14 @@
#!/bin/bash
set -ev

docker pull $DOCKER_IMAGE
docker build -t $DOCKER_IMAGE -f $DOCKERFILE .

if [[ -n "${DOCKER_USER}" && "${TRAVIS_PULL_REQUEST}" = 'false' && "${TRAVIS_BRANCH}" = "master" ]]; then
docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS
docker tag $DOCKER_IMAGE $DOCKER_IMAGE:$TRAVIS_COMMIT
docker push $DOCKER_IMAGE
docker push $DOCKER_IMAGE:$TRAVIS_COMMIT
else
echo "Docker image are only pushed for builds of the master branch when Docker Hub credentials are present."
fi

0 comments on commit 995250d

Please sign in to comment.