docker.gitlab-ci.yml 1.94 KiB
variables:
  DOCKER_HOST: tcp://localhost:2375
  DOCKER_DRIVER: overlay2
.docker_deploy:
  stage: deploy
  image: docker:19.03.4
  services:
    - name: docker:18-dind
      command: [ "--insecure-registry=repo.tecgraf.puc-rio.br:18089" ]
  script:
    - source shared-vars.sh
    - export DOCKER_REGISTRY=${CI_REGISTRY_URL:+$CI_REGISTRY_URL/}
    - export DOCKER_REGISTRY_IMAGE_DIND="${CI_REGISTRY_IMAGE}-dind"
    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY_URL"
    - docker pull $DOCKER_REGISTRY$CI_REGISTRY_IMAGE:$LAST || true
    - docker pull $DOCKER_REGISTRY$DOCKER_REGISTRY_IMAGE_DIND:$LAST || true   
    - cd Docker/posix/
    - | 
      docker build --cache-from $DOCKER_REGISTRY$CI_REGISTRY_IMAGE:$LAST \
      --tag $DOCKER_REGISTRY$CI_REGISTRY_IMAGE:$VERSION \
      --tag $DOCKER_REGISTRY$CI_REGISTRY_IMAGE:$LAST \
      --tag $DOCKER_REGISTRY$CI_REGISTRY_IMAGE:latest .
    - sed -r "s%^FROM .*%FROM $DOCKER_REGISTRY$CI_REGISTRY_IMAGE:$VERSION%" Dockerfile_sgadocker > /tmp/sgadind
    - |
      docker build --cache-from $DOCKER_REGISTRY$DOCKER_REGISTRY_IMAGE_DIND:$LAST \
      --tag $DOCKER_REGISTRY$DOCKER_REGISTRY_IMAGE_DIND:$VERSION \
      --tag $DOCKER_REGISTRY$DOCKER_REGISTRY_IMAGE_DIND:$LAST \
      --tag $DOCKER_REGISTRY$DOCKER_REGISTRY_IMAGE_DIND:latest -f /tmp/sgadind .
    - rm -f /tmp/sgadind      
    - docker push $DOCKER_REGISTRY$CI_REGISTRY_IMAGE:$VERSION
    - docker push $DOCKER_REGISTRY$CI_REGISTRY_IMAGE:$LAST
    - docker push $DOCKER_REGISTRY$CI_REGISTRY_IMAGE:latest
    - docker push $DOCKER_REGISTRY$DOCKER_REGISTRY_IMAGE_DIND:$VERSION
    - docker push $DOCKER_REGISTRY$DOCKER_REGISTRY_IMAGE_DIND:$LAST
    - docker push $DOCKER_REGISTRY$DOCKER_REGISTRY_IMAGE_DIND:latest
docker_snapshot:
  extends: .docker_deploy
  before_script:
    - export LAST="snapshot"
  only:
    - master
docker_release:
  extends: .docker_deploy
  before_script:
    - export LAST="stable"
  when: manual
  only:
    - tags