tambahannya

This commit is contained in:
bipproduction
2025-02-21 07:20:22 +08:00
parent 8f0f0626b2
commit 3573a53bb8

View File

@@ -1,80 +0,0 @@
name: CI/CD Pipeline with Symlink
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
# Checkout kode sumber
- name: Checkout code
uses: actions/checkout@v3
# Setup Bun
- name: Setup Bun
uses: oven-sh/setup-bun@v1
# Install dependencies
- name: Install dependencies
run: bun install
# Build project
- name: Build project
run: bun run build
# Generate unique version directory
- name: Generate version directory
id: version
run: echo "VERSION=myapp-v$(date +%Y%m%d%H%M%S)" >> $GITHUB_ENV
# Ensure /var/www exists
- name: Ensure /var/www exists
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.VPS_HOST }}
username: ${{ secrets.VPS_USERNAME }}
key: ${{ secrets.VPS_SSH_KEY }}
script: |
mkdir -p /var/www
# Deploy to a new version directory
- name: Deploy to VPS (New Version)
uses: appleboy/scp-action@master
with:
host: ${{ secrets.VPS_HOST }}
username: ${{ secrets.VPS_USERNAME }}
key: ${{ secrets.VPS_SSH_KEY }}
source: "."
target: "/var/www/${{ env.VERSION }}"
# Prepare and switch symlink
- name: Switch symlink to new version
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.VPS_HOST }}
username: ${{ secrets.VPS_USERNAME }}
key: ${{ secrets.VPS_SSH_KEY }}
script: |
cd /var/www
mv myapp-current myapp-backup || true
ln -sfn ${{ env.VERSION }} myapp-current
cd /var/www/myapp-current
bun install --production
pm2 reload myapp || pm2 start "bun run start" --name myapp
# Clean up old version (optional)
- name: Clean up old version
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.VPS_HOST }}
username: ${{ secrets.VPS_USERNAME }}
key: ${{ secrets.VPS_SSH_KEY }}
script: |
rm -rf /var/www/myapp-backup