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