summaryrefslogtreecommitdiffstats
path: root/.gitlab-ci.yml
blob: f96c4e5b174c1ee869a4e4ea0eab8685f0dc2a41 (plain)
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
stages:
  - publish
  - deploy

publish:
  stage: publish
  image: docker:stable
  services:
    - docker:stable-dind
  only:
    - tags
  script:
    - docker info
    - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
    - IMAGE="$IMAGE_NAME:$CI_COMMIT_TAG"
    - IMAGE_LATEST="$IMAGE_NAME:latest"
    - docker pull "$IMAGE_LATEST"
    - docker build . -f ./Dockerfile -t "$IMAGE" --cache-from "$IMAGE_LATEST"
    - docker tag "$IMAGE" "$IMAGE_LATEST"
    - docker push $IMAGE
    - docker push $IMAGE_LATEST

deploy:
  stage: deploy
  image: jantuomi/ansible:alpine3
  only:
    - tags
  script:
    - chmod 600 "$SSH_PRIVATE_KEY_FILE"
    - IMAGE="$IMAGE_NAME:$CI_COMMIT_TAG"
    - ansible-playbook --private-key "$SSH_PRIVATE_KEY_FILE" -i "$INVENTORY_FILE" -e "image_name=$IMAGE docker_user=gitlab-ci-token docker_password=$CI_JOB_TOKEN docker_registry=$CI_REGISTRY" -u root ansible/deploy-playbook.yaml