stages:
  - build
  - deploy

variables:
  PY_COLORS: "1"
  ANSIBLE_FORCE_COLOR: "1"
  ANSIBLE_PYTHON_INTERPRETER: auto_silent
  ANSIBLE_STDOUT_CALLBACK: debug

docker-build-main:
  # Official docker image.
  image: docker:latest
  stage: build
  tags:
    - docker
  services:
    - docker:dind
  before_script:
    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
  script:
    - docker build --pull -t "$CI_REGISTRY_IMAGE" .
    - docker push "$CI_REGISTRY_IMAGE"
  only:
    - main

docker-build:
  # Official docker image.
  image: docker:latest
  stage: build
  tags:
    - docker
  services:
    - docker:dind
  before_script:
    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
  script:
    - docker build --pull -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" .
    - docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG"
  except:
    - main

deploy-main:
  #when: manual
  stage: deploy
  image:
    name: cytopia/ansible:latest-tools
    entrypoint: [""]
  script:
    - chmod 600 "${ANSIBLE_SSH_KEY_PRIVATE}"
    - ansible-playbook -i ./deployment/hosts.yml --private-key "${ANSIBLE_SSH_KEY_PRIVATE}" "./deployment/deployment.yml"
  only:
    - main