koperasi/.gitlab-ci.yml
2025-08-08 14:12:40 +07:00

26 lines
807 B
YAML

image: ubuntu:22.04
stages:
- deploy
deploy_to_vps:
stage: deploy
before_script:
- apt-get update && apt-get install -y openssh-client curl # Install curl jika belum ada
script:
# Memuat private key yang disimpan di GitLab CI/CD variable
- eval "$(ssh-agent -s)"
- echo "$FRONT_PRIVATE_KEY" | sed 's/\r//g' | ssh-add -
# Menambahkan VPS ke known_hosts secara otomatis untuk menghindari konfirmasi manual
- mkdir -p ~/.ssh
- ssh-keyscan -H $VPS_HOST >> ~/.ssh/known_hosts
- ssh $FRONTEND_USER@$VPS_HOST "export PATH="/home/frontend/.nvm/versions/node/v20.16.0/bin:$PATH" && cd $FRONTEND_DIR && git checkout dev && git pull && npm i && npm run build && pm2 stop 0 && pm2 start 0"
only:
- dev # Jalankan hanya ketika ada perubahan di branch dev