Files
taxbaik/.gitea/workflows/deploy.yml
T
kjh2064 88409b8fea Add deployment infrastructure and development guide
- db/migrations/: V001 (schema) + V002 (seed data) SQL files
- deploy/: systemd service files (taxbaik.service, taxbaik-admin.service)
- deploy/: Nginx location block configuration
- .gitea/workflows/deploy.yml: CI/CD pipeline (build, test, deploy)
- CLAUDE.md: Comprehensive development guidelines (9 sections)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-26 14:59:51 +09:00

53 lines
1.9 KiB
YAML

name: TaxBaik CI/CD
on:
push:
branches:
- main
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0'
- name: Restore dependencies
run: dotnet restore TaxBaik.sln
- name: Build solution
run: dotnet build TaxBaik.sln -c Release --no-restore
- name: Publish Web
run: dotnet publish src/TaxBaik.Web/ -c Release -o ./publish/web
- name: Publish Admin
run: dotnet publish src/TaxBaik.Admin/ -c Release -o ./publish/admin
- name: Setup SSH key
uses: webfactory/ssh-agent@v0.9.0
with:
ssh-private-key: ${{ secrets.DEPLOY_SSH_KEY }}
- name: Deploy Web
run: |
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
mkdir -p ~/.ssh
echo "${{ secrets.DEPLOY_HOST }}" >> ~/.ssh/known_hosts || true
ssh ${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }} "mkdir -p ~/deployments/taxbaik_${TIMESTAMP}"
rsync -az --delete ./publish/web/ ${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }}:~/deployments/taxbaik_${TIMESTAMP}/
ssh ${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }} "ln -sfn ~/deployments/taxbaik_${TIMESTAMP} ~/taxbaik_active && sudo systemctl restart taxbaik"
- name: Deploy Admin
run: |
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
ssh ${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }} "mkdir -p ~/deployments/taxbaik_admin_${TIMESTAMP}"
rsync -az --delete ./publish/admin/ ${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }}:~/deployments/taxbaik_admin_${TIMESTAMP}/
ssh ${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }} "ln -sfn ~/deployments/taxbaik_admin_${TIMESTAMP} ~/taxbaik_admin_active && sudo systemctl restart taxbaik-admin"