kind: pipeline type: docker name: default steps: - name: go test image: golang:1.25-alpine3.21 commands: - apk add --no-cache git curl - go mod tidy - go test ./... - name: build and push docker image image: plugins/docker settings: repo: localhost:5000/link-shortener tags: latest dockerfile: dockerfile registry: localhost:5000 insecure: true - name: deploy with compose image: docker:24 volumes: - name: dockersock path: /var/run/docker.sock - name: appdir path: /opt/app environment: IMAGE: localhost:5000/link-shortener:latest SERVER_HOST: link.dusiburg.ru VIRTUAL_HOST: link.dusiburg.ru VIRTUAL_PORT: 8080 LETSENCRYPT_HOST: link.dusiburg.ru LETSENCRYPT_EMAIL: from_secret: LETSENCRYPT_EMAIL SERVER_PORT: 8080 REDIS_PASSWORD: from_secret: REDIS_PASSWORD REDIS_URL: from_secret: REDIS_URL commands: - apk add --no-cache docker-cli-compose - cp -r . /opt/app - cd /opt/app - docker compose pull - docker compose up -d volumes: - name: dockersock host: path: /var/run/docker.sock - name: appdir host: path: /opt/drone/link-shortener trigger: branch: - main