52 lines
1.4 KiB
YAML
52 lines
1.4 KiB
YAML
name: Deploy to Server
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 15
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Copy files to server
|
|
uses: appleboy/scp-action@v0.1.6
|
|
with:
|
|
host: ${{ secrets.SERVER_HOST }}
|
|
username: ${{ secrets.SSH_USER }}
|
|
password: ${{ secrets.SSH_PASSWORD }}
|
|
source: "."
|
|
target: "/root/hshop/"
|
|
rm: true
|
|
|
|
- name: Deploy environment file
|
|
uses: appleboy/ssh-action@v0.1.6
|
|
with:
|
|
host: ${{ secrets.SERVER_HOST }}
|
|
username: ${{ secrets.SSH_USER }}
|
|
password: ${{ secrets.SSH_PASSWORD }}
|
|
script: |
|
|
mkdir -p /root/hshop/backend/
|
|
printf "%s" "${{ secrets.ENV_FILE_CONTENT }}" > /root/hshop/backend/.env.local
|
|
|
|
- name: Build and start Docker containers
|
|
uses: appleboy/ssh-action@v0.1.6
|
|
with:
|
|
host: ${{ secrets.SERVER_HOST }}
|
|
username: ${{ secrets.SSH_USER }}
|
|
password: ${{ secrets.SSH_PASSWORD }}
|
|
script: |
|
|
cd /root/hshop/
|
|
|
|
docker compose down --remove-orphans --timeout 60
|
|
|
|
docker compose up --build --detach --remove-orphans
|
|
|
|
docker image prune -af
|
|
|
|
docker compose ps |