summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: 9876f9e67b36de901a11c9507e3ce44933033654 (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
32
33
34
35
stages:
  - build
  - deploy

variables:
  IMAGE_NAME: "artberry-backend"
  IMAGE_TAG: "3.14"
  DOCKER_TLS_CERTDIR: ""

build:
  stage: build
  image: docker:24.0.5
  services:
    - docker:24.0.5-dind
  script:
    - docker build -t $IMAGE_NAME:$IMAGE_TAG .
    - docker save $IMAGE_NAME:$IMAGE_TAG | gzip > ${IMAGE_NAME}_${IMAGE_TAG}.tar.gz
  artifacts:
    paths:
      - ${IMAGE_NAME}_${IMAGE_TAG}.tar.gz
    expire_in: 1 hour

deploy:
  stage: deploy
  image: appleboy/drone-ssh:latest
  environment:
    name: production
  script:
    - scp ${CI_PROJECT_DIR}/${IMAGE_NAME}_${IMAGE_TAG}.tar.gz user@your_server:/tmp/
    - ssh user@your_server "
      docker load -i /tmp/${IMAGE_NAME}_${IMAGE_TAG}.tar.gz &&
      docker stop $IMAGE_NAME || true &&
      docker rm $IMAGE_NAME || true &&
      docker run -d -p 8000:8000 --name $IMAGE_NAME $IMAGE_NAME:$IMAGE_TAG
      "