# Documentation: https://woodpecker-ci.org/docs/usage/workflow-syntax when: - event: [ deployment,manual ] steps: - name: share-data image: minio/mc commands: - echo "ℹ️ Save pipeline info" - echo NEW_VERSION=$NEW_VERSION > .buildinfo - mc alias set local http://minio:9000 minioadmin minioadmin123 - mc get local/ci/$CI_REPO_REMOTE_ID/$CI_PIPELINE_PARENT .buildinfo - name: get-artifact image: curlimages/curl:latest commands: | source .buildinfo echo new version: ${NEW_VERSION} curl -o /tmp/${CI_REPO_NAME}-${NEW_VERSION}.tar \ "https://nexus.cicd.exygen.fr/repository/domaine-passignat/apps/${CI_REPO_NAME}/${NEW_VERSION}/${CI_REPO_NAME}-${VERSION}.tar" # Étape 7: Transfert vers le serveur distant (SCP) - name: transfert image: appleboy/drone-scp settings: host: from_secret: remote_host username: from_secret: remote_user password: from_secret: remote_password port: 22 source: /tmp/${CI_REPO_NAME}-${NEW_VERSION}.tar target: /tmp/ depends_on: [ get-artifact ,share-data] # Étape 8: Déploiement sur le serveur distant - name: deploy image: appleboy/drone-ssh environment: SUDO_PASSWORD: from_secret: remote_password settings: host: from_secret: remote_host username: from_secret: remote_user password: from_secret: remote_password port: 22 envs: - SUDO_PASSWORD script: - echo "$${SUDO_PASSWORD}" | sudo -S systemctl stop gestion - mkdir -p /srv/volumes/gestion/{front-binaries,back-binaries,tmpdb} - rm -rf /srv/volumes/gestion/front-binaries/* - rm -rf /srv/volumes/gestion/back-binaries/* - rm -rf /srv/volumes/gestion/tmpdb/* - tar -xvf /tmp/${CI_REPO_NAME}-${VERSION}.tar -C /tmp - tar -xvf /tmp/front.tar.gz -C /srv/volumes/gestion/front-binaries - tar -xzvf /tmp/back.tar.gz -C /srv/volumes/gestion/back-binaries - tar -xzvf /tmp/db.tar.gz -C /srv/volumes/gestion/tmpdb - rm -f /tmp/front.tar.gz - rm -f /tmp/back.tar.gz - rm -f /tmp/db.tar.gz - rm -f /tmp/${CI_REPO_NAME}-${VERSION}.tar - docker-compose up database - cd /srv/volumes/gestion/tmpdb - npm ci --cache .npm --prefer-offline - npm run install-db - echo "$${SUDO_PASSWORD}" | sudo -S systemctl start gestion depends_on: [ transfert ]