diff --git a/.drone.yml b/.drone.yml index 2a5eebd..77f3037 100644 --- a/.drone.yml +++ b/.drone.yml @@ -4,36 +4,58 @@ type: docker name: default steps: + - name: build + image: python:3.11-slim + commands: + - pip install --no-cache-dir -r requirements.txt -- name: build + - name: test + image: python:3.11-slim + commands: + - pip install --no-cache-dir -r requirements.txt + - pip install pytest pytest-asyncio + - pytest tests/ -v true - image: docker:20.10 - privileged: true - commands: - - docker info - - docker build -t gitea.allowlgroup.ru/allowlgroup/gptchat:latest . - - docker save gitea.allowlgroup.ru/allowlgroup/gptchat:latest -o gptchat.tar + - name: docker-build + image: plugins/docker + settings: + repo: gitea.allowlgroup.ru/allowlgroup/gptchat + registry: https://gitea.allowlgroup.ru + insecure: true + tags: + - latest + - ${DRONE_COMMIT_SHA:0:8} + username: + from_secret: docker_username + password: + from_secret: docker_password + context: . + dockerfile: Dockerfile + when: + branch: + - main + event: + - push + - custom -- name: deploy - - image: appleboy/drone-ssh - settings: - host: gitea.allowlgroup.ru - username: - from_secret: ssh_username - password: - from_secret: ssh_password - port: 22 - commands: - - scp gptchat.tar /tmp/gptchat.tar - - docker load -i /tmp/gptchat.tar && - docker stop gptchat || true && - docker rm gptchat || true && - docker run -d --name gptchat -p 8484:8484 gitea.allowlgroup.ru/allowlgroup/gptchat:latest - -services: - -- name: docker - - image: docker:dind - privileged: true + - name: deploy + image: appleboy/drone-ssh + settings: + host: 127.0.0.1 + username: + from_secret: ssh_username + password: + from_secret: ssh_password + port: 22 + script: + - export DOCKER_HOST="unix:///var/run/docker.sock" + - docker stop gptchat || true + - docker rm gptchat || true + - docker pull gitea.allowlgroup.ru/allowlgroup/gptchat:latest + - docker run -d --name gptchat -p 8484:8484 gitea.allowlgroup.ru/allowlgroup/gptchat:latest + when: + branch: + - main + event: + - push + - custom