Files
test-cicd/.woodpecker/deploy-pipeline.yml
spassignat b8e748103d
Some checks failed
ci/woodpecker/push/build-pipeline Pipeline was successful
ci/woodpecker/deployment/deploy-pipeline Pipeline failed
patch: pipeline manual
2026-05-04 09:01:09 +02:00

69 lines
2.3 KiB
YAML

# Documentation: https://woodpecker-ci.org/docs/usage/workflow-syntax
when:
- event: [ deployment,manual ]
steps:
- name: get-artifact
image: curlimages/curl:latest
commands: |
env
BUILD=.woodpecker/builds/$CI_REPO_REMOTE_ID/$CI_PIPELINE_PARENT
ls -als .woodpecker/builds/$CI_REPO_REMOTE_ID/
source $BUILD
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 ]
# É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 ]