summaryrefslogtreecommitdiffstats
path: root/.gitlab-ci.yml
blob: fddf2bcd66bb23198c13e30e23296523323b3fc3 (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
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 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: williamyeh/ansible:alpine3
  only:
    - tags
  script:
    - chmod 600 "$SSH_PRIVATE_KEY_FILE"
    - ansible-playbook --private-key "$SSH_PRIVATE_KEY_FILE" -i "$INVENTORY_FILE" -e "image_name=$IMAGE" -u root ansible/deploy-playbook.yaml