This commit is contained in:
@@ -14,24 +14,19 @@ steps:
|
||||
- name: clean_project
|
||||
image: *git_image
|
||||
commands: |
|
||||
pwd
|
||||
ls -als
|
||||
|
||||
echo "1 $CI_WORKSPACE"
|
||||
echo "2 $CI_WORKSPACE"
|
||||
rm -rf dist
|
||||
rm -f $CI_WORKSPACE/version.env
|
||||
rm -f $CI_WORKSPACE/build/version.env
|
||||
echo "✅ Nettoyage terminé"
|
||||
ls -als
|
||||
|
||||
depends_on: [ ]
|
||||
|
||||
# Étape 2: Analyser le message du commit
|
||||
- name: prepare
|
||||
image: *git_image
|
||||
commands: |
|
||||
pwd
|
||||
ls -als
|
||||
echo $CI_WORKSPACE
|
||||
echo $CI_WORKSPACE
|
||||
|
||||
COMMIT_MSG=$(git log -1 --pretty=%B)
|
||||
echo "📝 Message: $COMMIT_MSG"
|
||||
|
||||
@@ -48,19 +43,15 @@ steps:
|
||||
echo "version_type=none" >> $CI_WORKSPACE/version.env
|
||||
echo "⚠️ Aucun changement de version"
|
||||
fi
|
||||
ls -als
|
||||
echo "build_dir=$CI_WORKSPACE/build" >> $CI_WORKSPACE/version.env
|
||||
depends_on: [ clean_project ]
|
||||
|
||||
# Étape 3: Mettre à jour la version
|
||||
- name: update_version
|
||||
image: *node_image
|
||||
commands: |
|
||||
pwd
|
||||
ls -als
|
||||
echo $CI_WORKSPACE
|
||||
echo $CI_WORKSPACE
|
||||
npm ci --cache .npm --prefer-offline
|
||||
source $CI_WORKSPACE/version.env
|
||||
npm ci --cache .npm --prefer-offline
|
||||
|
||||
if [ "$version_type" != "none" ]; then
|
||||
CURRENT_VERSION=$(node -p "require('./package.json').version")
|
||||
@@ -70,9 +61,9 @@ steps:
|
||||
echo "🆕 Nouvelle version: $NEW_VERSION"
|
||||
echo "NEW_VERSION=$NEW_VERSION" >> $CI_WORKSPACE/version.env
|
||||
echo "CURRENT_VERSION=$CURRENT_VERSION" >> $CI_WORKSPACE/version.env
|
||||
echo "artifact=${CI_REPO_NAME}-$NEW_VERSION.tar" >> $CI_WORKSPACE/version.env
|
||||
echo "ARTIFACT=$CI_REPO_NAME-$NEW_VERSION.tar" >> $CI_WORKSPACE/version.env
|
||||
else
|
||||
echo "artifact=no-artifact" >> $CI_WORKSPACE/version.env
|
||||
echo "ARTIFACT=no-artifact" >> $CI_WORKSPACE/version.env
|
||||
echo "⏭️ Pas de mise à jour de version"
|
||||
fi
|
||||
ls -als
|
||||
@@ -82,39 +73,31 @@ steps:
|
||||
- name: build
|
||||
image: *node_image
|
||||
commands: |
|
||||
pwd
|
||||
ls -als
|
||||
echo $CI_WORKSPACE
|
||||
echo $CI_WORKSPACE
|
||||
npm ci --cache .npm --prefer-offline
|
||||
npm run build
|
||||
ls -als
|
||||
depends_on: [ update_version ]
|
||||
|
||||
# Étape 5: Package des artefacts
|
||||
- name: package
|
||||
image: *node_image
|
||||
commands: |
|
||||
pwd
|
||||
ls -als
|
||||
echo $CI_WORKSPACE
|
||||
echo $CI_WORKSPACE
|
||||
echo "ARTIFACT_PATH=$CI_WORKSPACE/artifacts/$NEW_VERSION" >> $CI_WORKSPACE/version.env
|
||||
echo "ARTIFACT_FILE=$CI_WORKSPACE/artifacts/$ARTIFAC" >> $CI_WORKSPACE/version.env
|
||||
source $CI_WORKSPACE/version.env
|
||||
|
||||
if [ "$version_type" != "none" ]; then
|
||||
mkdir -p $CI_WORKSPACE/artifacts/${NEW_VERSION}
|
||||
mkdir -p $ARTIFACT_PATH
|
||||
|
||||
# Créer les archives individuelles
|
||||
tar -czf $CI_WORKSPACE/artifacts/${NEW_VERSION}/front.tar.gz -C frontend/dist . 2>/dev/null || echo "⚠️ frontend/dist vide"
|
||||
tar -czf $CI_WORKSPACE/artifacts/${NEW_VERSION}/back.tar.gz -C backend/dist . 2>/dev/null || echo "⚠️ backend/dist vide"
|
||||
tar -czf $CI_WORKSPACE/artifacts/${NEW_VERSION}/db.tar.gz -C database src *.json 2>/dev/null || echo "⚠️ database vide"
|
||||
tar -czf $ARTIFACT_PATH/front.tar.gz -C frontend/dist . 2>/dev/null || echo "⚠️ frontend/dist vide"
|
||||
tar -czf $ARTIFACT_PATH/back.tar.gz -C backend/dist . 2>/dev/null || echo "⚠️ backend/dist vide"
|
||||
tar -czf $ARTIFACT_PATH/db.tar.gz -C database src *.json 2>/dev/null || echo "⚠️ database vide"
|
||||
|
||||
# Créer l'artefact final
|
||||
cd $CI_WORKSPACE/artifacts/${NEW_VERSION}
|
||||
tar -cf $CI_WORKSPACE/artifacts/${artifact} .
|
||||
cd $ARTIFACT_PATH
|
||||
tar -cf $ARTIFACT_FILE .
|
||||
|
||||
echo "✅ Artefact créé: $CI_WORKSPACE/artifacts/${artifact}"
|
||||
ls -la $CI_WORKSPACE/artifacts/${artifact}
|
||||
echo "✅ Artefact créé: $ARTIFACT_FILE"
|
||||
ls -la $ARTIFACT_PATH
|
||||
fi
|
||||
ls -als
|
||||
depends_on: [ build ]
|
||||
@@ -128,20 +111,15 @@ steps:
|
||||
NEXUS_PASSWORD:
|
||||
from_secret: nexus_password
|
||||
commands: |
|
||||
pwd
|
||||
ls -als
|
||||
echo $CI_WORKSPACE
|
||||
echo $CI_WORKSPACE
|
||||
source $CI_WORKSPACE/version.env
|
||||
|
||||
if [ "$version_type" != "none" ]; then
|
||||
ARTIFACT_PATH="$CI_WORKSPACE/artifacts/${artifact}"
|
||||
|
||||
echo "📦 Publication de la version ${NEW_VERSION} : ${artifact}"
|
||||
echo "📦 Publication de la version ${NEW_VERSION} : ${ARTIFACT}"
|
||||
|
||||
if [ ! -f "${ARTIFACT_PATH}" ]; then
|
||||
echo "❌ Fichier introuvable: ${ARTIFACT_PATH}"
|
||||
ls -la $CI_WORKSPACE/artifacts/
|
||||
ls -la $ARTIFACT_PATH
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -149,7 +127,7 @@ steps:
|
||||
-u "${NEXUS_USERNAME}:${NEXUS_PASSWORD}" \
|
||||
-F "raw.directory=apps/${CI_REPO_NAME}/${NEW_VERSION}" \
|
||||
-F "raw.asset1=@${ARTIFACT_PATH}" \
|
||||
-F "raw.asset1.filename=${artifact}" \
|
||||
-F "raw.asset1.filename=${ARTIFACT}" \
|
||||
https://nexus.cicd.exygen.fr/service/rest/v1/components?repository=domaine-passignat
|
||||
|
||||
echo "✅ Artefact publié"
|
||||
|
||||
Reference in New Issue
Block a user