summaryrefslogtreecommitdiffstats
path: root/.gitlab-ci.yml
blob: 84aa71fb2a739d3aefb715bfaac8f89d10a9b56c (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:
    - cp "$SSH_PRIVATE_KEY_FILE" ~/.ssh/id_rsa
    - ansible-playbook -i "$INVENTORY_FILE" ansible/deploy-playbook.yaml -e "image_name=$IMAGE"