Files
wx_pyq/.gitea/workflows/deploy.yaml
jeremygan2021 5826f5ff86
Some checks failed
Deploy Docker Image / build-and-deploy (push) Has been cancelled
new
2026-02-27 17:16:44 +08:00

47 lines
1.5 KiB
YAML

name: Deploy Docker Image
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: https://gitea.com/actions/checkout@v3
- name: Login to Docker Hub
run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin
- name: Build and push
run: |
docker build -t ${{ secrets.DOCKER_USERNAME }}/wx-pyq:latest .
docker push ${{ secrets.DOCKER_USERNAME }}/wx-pyq:latest
- name: Deploy to Server
run: |
# Install SSH client
if command -v apk > /dev/null; then
sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
apk add --no-cache openssh-client
elif command -v apt-get > /dev/null; then
sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list
apt-get update && apt-get install -y openssh-client
fi
# Setup SSH key
mkdir -p ~/.ssh
echo "${{ secrets.SERVER_KEY }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
# Deploy
ssh -o StrictHostKeyChecking=no -i ~/.ssh/id_rsa ${{ secrets.SERVER_USERNAME }}@${{ secrets.SERVER_HOST }} "
docker pull ${{ secrets.DOCKER_USERNAME }}/wx-pyq:latest && \
(docker stop wx-pyq || true) && \
(docker rm wx-pyq || true) && \
docker run -d --name wx-pyq -p 3321:80 ${{ secrets.DOCKER_USERNAME }}/wx-pyq:latest
"