44 lines
1.6 KiB
YAML
44 lines
1.6 KiB
YAML
sudo: required
|
|
language: python
|
|
python: "3.6"
|
|
services:
|
|
- docker
|
|
git:
|
|
submodules: false
|
|
env:
|
|
global:
|
|
- TESTER_IMAGE_NAME=atst-tester
|
|
- PROD_IMAGE_NAME=atst-prod
|
|
|
|
before_install:
|
|
# Use sed to replace the SSH URL with the public URL
|
|
- sed -i 's/git@github.com:/https:\/\/github.com\//' .gitmodules
|
|
# Manually initialize submodules
|
|
- git submodule update --init --recursive
|
|
|
|
before_script:
|
|
- docker run -d --name postgres96 postgres:9.6-alpine
|
|
- docker run -d --name redis redis:4.0.10-alpine
|
|
- docker run --link postgres96:postgres96 --link redis:redis waisbrot/wait
|
|
- export postgres_ip="$(docker inspect -f "{{ .NetworkSettings.IPAddress }}" postgres96)"
|
|
- export redis_ip="$(docker inspect -f "{{ .NetworkSettings.IPAddress }}" redis)"
|
|
- docker login -u $ATAT_DOCKER_REGISTRY_USERNAME -p $ATAT_DOCKER_REGISTRY_PASSWORD $ATAT_DOCKER_REGISTRY_URL
|
|
- docker build --tag "${TESTER_IMAGE_NAME}" --add-host "postgreshost:${postgres_ip}" --add-host "redishost:${redis_ip}" . -f deploy/docker/tester/Dockerfile
|
|
|
|
script:
|
|
- docker run --add-host "postgreshost:${postgres_ip}" --add-host "redishost:${redis_ip}" "${TESTER_IMAGE_NAME}"
|
|
|
|
before_deploy:
|
|
- docker build --tag "${PROD_IMAGE_NAME}" . -f deploy/docker/prod/Dockerfile
|
|
- git_sha="$(git rev-parse --short HEAD)"
|
|
- remote_image_name="${ATAT_DOCKER_REGISTRY_URL}/${PROD_IMAGE_NAME}:${git_sha}"
|
|
- docker tag "${PROD_IMAGE_NAME}" "${remote_image_name}"
|
|
- docker images
|
|
- docker push "${remote_image_name}"
|
|
|
|
deploy:
|
|
provider: script
|
|
script: echo "** Image push only for now... stay tuned! **"
|
|
on:
|
|
branch: master
|