Portofolio gosambi.uk v2: proyek kasir, rental PS, homelab + auto-deploy
Some checks failed
Deploy Portfolio to Production / deploy (push) Has been cancelled
Some checks failed
Deploy Portfolio to Production / deploy (push) Has been cancelled
This commit is contained in:
44
.gitea/workflows/deploy.yml
Normal file
44
.gitea/workflows/deploy.yml
Normal file
@@ -0,0 +1,44 @@
|
||||
name: Deploy Portfolio to Production
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
workflow_dispatch:
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Setup SSH Key
|
||||
run: |
|
||||
mkdir -p ~/.ssh
|
||||
echo "${{ secrets.DEPLOY_PRIVATE_KEY }}" > ~/.ssh/id_rsa
|
||||
chmod 600 ~/.ssh/id_rsa
|
||||
printf "Host %s\n IdentityFile ~/.ssh/id_rsa\n StrictHostKeyChecking accept-new\n" "${{ secrets.DEPLOY_HOST }}" >> ~/.ssh/config
|
||||
chmod 600 ~/.ssh/config
|
||||
- name: Deploy via SSH (git pull + publish)
|
||||
run: |
|
||||
ssh -o ConnectTimeout=15 ${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }} << 'DEPLOY_SCRIPT'
|
||||
set -e
|
||||
REPO_URL="http://onie:125icko@@100.101.65.69:3033/onie/portfolio.git"
|
||||
WORKDIR="/home/gosa/portfolio"
|
||||
TARGET="/DATA/AppData/portfolio/index.html"
|
||||
echo "=== Portfolio Deployment Started ==="
|
||||
if [ ! -d "$WORKDIR/.git" ]; then
|
||||
echo "Cloning repo first time..."
|
||||
rm -rf "$WORKDIR"
|
||||
git clone -b main "$REPO_URL" "$WORKDIR"
|
||||
fi
|
||||
cd "$WORKDIR"
|
||||
git fetch origin
|
||||
git checkout main
|
||||
git reset --hard origin/main
|
||||
echo "Copying index.html to nginx volume..."
|
||||
cp index.html /tmp/pf-index.html
|
||||
echo "125icko@" | su -c "cp /tmp/pf-index.html $TARGET && echo DEPLOYED-OK"
|
||||
echo "=== Deployment Completed ==="
|
||||
DEPLOY_SCRIPT
|
||||
- name: Verify Deployment
|
||||
run: |
|
||||
sleep 5
|
||||
curl -s -o /dev/null -w "gosambi.uk=%{http_code}\n" https://gosambi.uk/ --max-time 15
|
||||
curl -s -o /dev/null -w "www.gosambi.uk=%{http_code}\n" https://www.gosambi.uk/ --max-time 15
|
||||
Reference in New Issue
Block a user