stages: - deploy - notification update-ip: stage: .post image: python:3.10.8-slim-buster rules: - if: '$NEW_IP != ""' allow_failure: true when: manual before_script: - apt-get update - apt-get install -y python3-pip - python --version - pip install -r requirements.txt script: - python cloudflare-updater.py $CF_API_TOKEN $NEW_IP deploy-site: stage: deploy rules: - if: $CI_COMMIT_BRANCH == "main" before_script: - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null - mkdir -p ~/.ssh - chmod 700 ~/.ssh - echo "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts - chmod 644 ~/.ssh/known_hosts script: - echo "Connecting to proxmox machine" - ssh $DEPLOY_USER@$DEPLOY_HOST -o StrictHostKeyChecking=no IdentitiesOnly=yes "screen -X -S website-firq-npx kill; rm -r -f public/*; cd build; git reset --hard; git pull; rm -r -f node_modules; npm install; npm run build; cp -R public ~; cd ~; screen -S website-firq-npx -dm npx serve public/ -p 9000" success_notification: stage: notification script: - wget https://raw.githubusercontent.com/DiscordHooks/gitlab-ci-discord-webhook/master/send.sh - chmod +x send.sh - ./send.sh success $WEBHOOK_URL when: on_success failure_notification: stage: notification script: - wget https://raw.githubusercontent.com/DiscordHooks/gitlab-ci-discord-webhook/master/send.sh - chmod +x send.sh - ./send.sh failure $WEBHOOK_URL when: on_failure