44 lines
1.3 KiB
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 |