go-kratos/.github/workflows/websocket-test.yaml

44 lines
1.3 KiB
YAML

name: Deploy WebSocket Test
on:
push:
branches: [release]
paths:
- 'app/websocket/**'
- 'deployments/Dockerfile.websocket'
- 'deployments/docker-compose.yaml'
- '.github/workflows/websocket-test.yml'
jobs:
build-and-deploy:
runs-on: self-hosted
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build & Push user-service Image
run: |
docker build -f deployments/Dockerfile.user -t your-dockerhub-user/user-service:latest .
docker push your-dockerhub-user/user-service:latest
- name: SSH Deploy to Server
uses: appleboy/ssh-action@v1.0.0
with:
host: ${{ secrets.SERVER_HOST }}
username: ${{ secrets.SERVER_USER }}
password: ${{ secrets.SERVER_PASSWORD }} # 或使用 key: 和 key_passphrase:
script: |
cd /home/yourapp/go-monorepo
git pull
docker compose pull user-service
docker compose up -d user-service