feat: add deploy.yml for CI/CD

This commit is contained in:
Lutfi Hakim 2026-05-03 22:20:46 +07:00
parent 44345bdac6
commit aedf0bdb92
1 changed files with 36 additions and 0 deletions

36
.github/workflows/deploy.yml vendored Normal file
View File

@ -0,0 +1,36 @@
name: Auto Deploy HRISMP
on:
push:
branches:
- main
jobs:
deploy:
runs-on: self-hosted
steps:
- name: Deployment Logic HRISMP
run: |
cd /www/wwwroot/joule/mp-hris-web
OLD_COMMIT=$(git rev-parse HEAD)
git fetch --all
git reset --hard origin/main
NEW_COMMIT=$(git rev-parse HEAD)
docker run --rm -v $(pwd):/app -w /app composer:2 install --no-interaction --prefer-dist --optimize-autoloader --ignore-platform-reqs
chown -R 33:33 vendor/ storage/ bootstrap/cache/
chmod -R 775 storage/ bootstrap/cache/
docker exec -t hrismp-php-container php artisan optimize:clear
if [ "$OLD_COMMIT" != "$NEW_COMMIT" ] && git diff --name-only $OLD_COMMIT $NEW_COMMIT | grep -q "^database/migrations/"; then
echo "🚀 Perubahan database terdeteksi! Menjalankan migrate..."
docker exec -t hrismp-php-container php artisan migrate --force
else
echo "✅ Tidak ada file migrasi baru. Skip migrate."
fi