-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcircle.yml
42 lines (38 loc) · 1.92 KB
/
circle.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
machine:
services:
- docker
- postgresql
- redis
dependencies:
cache_directories:
- "~/docker"
- "wheelhouse"
- "node_modules"
override:
- if [[ -e ~/docker/base_image.tar ]]; then docker load -i ~/docker/base_image.tar; fi
- docker build -t unicef/etools:base -f etools-base.docker .
- mkdir -p ~/docker; docker save unicef/etools:base > ~/docker/base_image.tar
- if [[ -e ~/docker/buildbase_image.tar ]]; then docker load -i ~/docker/buildbase_image.tar; fi
- docker build -t unicef/etools:buildbase -f etools-build-base.docker .
- docker save unicef/etools:buildbase > ~/docker/buildbase_image.tar
- docker build -t unicef/etools:builder -f etools-build.docker .
- docker run --rm -v "$(pwd)":/application -v "$(pwd)"/wheelhouse:/wheelhouse -v "$(pwd)"/node_modules:/node_modules -e "CIRCLE_BRANCH=$CIRCLE_BRANCH" unicef/etools:builder
- docker build -t unicef/etools:$CIRCLE_BRANCH -f etools-run.docker .
test:
pre: # bootstrap postgres to accept connections from our container
- sudo bash -c "echo \"listen_addresses = '*'\" >>
/etc/postgresql/9.4/main/postgresql.conf" #9.4 works only on CI Ubuntu 12.04
- sudo bash -c "echo \"host all all 0.0.0.0/0 trust\" >>
/etc/postgresql/9.4/main/pg_hba.conf"
- sudo /etc/init.d/postgresql restart
- psql -d template1 -c 'create extension hstore;' # needed for django hstore
override:
- export HOSTIP=`ip -4 addr show scope global dev eth0 | grep inet | awk '{print \$2}' | cut -d / -f 1`;
docker run -it -e "DATABASE_URL=postgis://ubuntu@docker:5432/circle_test" --add-host=docker:${HOSTIP} unicef/etools:$CIRCLE_BRANCH
coverage run manage.py test --keepdb --settings=EquiTrack.settings.test
deployment:
hub:
branch: [develop, staging, master]
commands:
- docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS
- docker push unicef/etools