Add deploy workflow
All checks were successful
Deploy to dev.bl.pixeldev.eu / deploy (push) Successful in 8s
All checks were successful
Deploy to dev.bl.pixeldev.eu / deploy (push) Successful in 8s
This commit is contained in:
parent
81f01bd0b7
commit
7b09f26d4a
63
.gitea/workflows/deploy.yml
Normal file
63
.gitea/workflows/deploy.yml
Normal file
@ -0,0 +1,63 @@
|
||||
name: Deploy to dev.bl.pixeldev.eu
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: self-hosted
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Sync files to project directory
|
||||
run: |
|
||||
PROJECT="${{ github.event.repository.name }}"
|
||||
DEPLOY_DIR="/opt/harbor-projects/${PROJECT}"
|
||||
|
||||
mkdir -p "$DEPLOY_DIR"
|
||||
rsync -av --delete \
|
||||
--exclude='.git' \
|
||||
--exclude='node_modules' \
|
||||
"$GITHUB_WORKSPACE/" "$DEPLOY_DIR/"
|
||||
|
||||
echo "Synced to $DEPLOY_DIR"
|
||||
|
||||
- name: Install dependencies (Node.js projects)
|
||||
run: |
|
||||
PROJECT="${{ github.event.repository.name }}"
|
||||
DEPLOY_DIR="/opt/harbor-projects/${PROJECT}"
|
||||
|
||||
if [ -f "$DEPLOY_DIR/package.json" ]; then
|
||||
cd "$DEPLOY_DIR"
|
||||
npm install --production
|
||||
echo "npm install done"
|
||||
fi
|
||||
|
||||
- name: Register with Harbor (if new)
|
||||
run: |
|
||||
PROJECT="${{ github.event.repository.name }}"
|
||||
DEPLOY_DIR="/opt/harbor-projects/${PROJECT}"
|
||||
|
||||
# Check if already registered
|
||||
STATUS=$(curl -sk -u admin:blaetternd-helix-dribbble124 \
|
||||
https://dev.bl.pixeldev.eu/harbor/api/projects/${PROJECT} \
|
||||
-o /dev/null -w "%{http_code}")
|
||||
|
||||
if [ "$STATUS" = "404" ]; then
|
||||
echo "Registering new project with Harbor..."
|
||||
curl -sk -u admin:blaetternd-helix-dribbble124 \
|
||||
-X POST https://dev.bl.pixeldev.eu/harbor/api/projects \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "{\"path\":\"${DEPLOY_DIR}\",\"name\":\"${PROJECT}\"}"
|
||||
else
|
||||
echo "Refreshing existing Harbor project..."
|
||||
curl -sk -u admin:blaetternd-helix-dribbble124 \
|
||||
-X POST https://dev.bl.pixeldev.eu/harbor/api/projects/${PROJECT}/deploy
|
||||
fi
|
||||
|
||||
- name: Done
|
||||
run: |
|
||||
PROJECT="${{ github.event.repository.name }}"
|
||||
echo "✅ Deployed $PROJECT to https://dev.bl.pixeldev.eu/harbor/preview/${PROJECT}/"
|
||||
Loading…
Reference in New Issue
Block a user