62 lines
1.4 KiB
YAML
62 lines
1.4 KiB
YAML
kind: pipeline
|
|
type: docker
|
|
name: default
|
|
|
|
steps:
|
|
- name: build
|
|
image: python:3.11-slim
|
|
commands:
|
|
- pip install --no-cache-dir -r requirements.txt
|
|
|
|
- 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
|
|
|
|
- name: docker-build
|
|
image: plugins/docker
|
|
settings:
|
|
repo: 217.11.166.147:3000/admin/gptchat
|
|
registry: http://217.11.166.147:3000
|
|
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: 217.11.166.147
|
|
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 217.11.166.147:3000/admin/gptchat:latest
|
|
- docker run -d --name gptchat -p 8084:8084 217.11.166.147:3000/admin/gptchat:latest
|
|
when:
|
|
branch:
|
|
- main
|
|
event:
|
|
- push
|
|
- custom
|
|
|