kind: pipeline type: docker name: default steps: - name: prepare docker config image: alpine environment: DOCKER_CONFIG_JSON: from_secret: DOCKER_CONFIG_JSON commands: - mkdir -p /kaniko/.docker - echo "$DOCKER_CONFIG_JSON" > /kaniko/.docker/config.json volumes: - name: kaniko-config path: /kaniko/.docker - name: build-and-push-kaniko image: gcr.io/kaniko-project/executor:latest command: - --dockerfile=Dockerfile - --context=. - --destination=git.iamninja.ru/iamninja/pomodoro_tg_bot:latest - --cache=true - --cache-repo=git.iamninja.ru/iamninja/pomodoro_tg_bot/cache - --skip-tls-verify volumes: - name: kaniko-config path: /kaniko/.docker - name: deploy to server image: appleboy/drone-ssh settings: host: from_secret: DOCKER_DEPLOY username: from_secret: DOCKER_USERNAME port: 22025 key: from_secret: DOCKER_SSH_KEY envs: [ DOCKER_USERNAME, CICD_TOKEN ] script: - mkdir -p /home/iamninja/pomodoro_tg_bot - cd /home/iamninja/pomodoro_tg_bot - | cat < docker-compose.yml version: '3' services: pomodoro: image: git.iamninja.ru/iamninja/pomodoro_tg_bot:latest restart: always env_file: - .env EOF - docker login git.iamninja.ru -u "$DOCKER_USERNAME" -p "$CICD_TOKEN" - docker compose pull - docker compose up -d volumes: - name: kaniko-config temp: {}