Compare commits
83 Commits
244f46418b
...
v0.0.44
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e684cadb9f | ||
|
|
0c091538e8 | ||
|
|
ccda246266 | ||
|
|
6a55acd235 | ||
|
|
faecd90037 | ||
|
|
680ac2fd2b | ||
|
|
3d7f20d2bf | ||
|
|
7df04c4084 | ||
|
|
ed5ffdbdc0 | ||
|
|
f6e52f7420 | ||
|
|
35adae3978 | ||
|
|
161e2c12cf | ||
|
|
d20a29408f | ||
|
|
78e682d10f | ||
|
|
c51709bd26 | ||
|
|
cc96f7f5e2 | ||
|
|
fdf11214dd | ||
|
|
e4dbf60a20 | ||
|
|
307fb3c325 | ||
|
|
e9162550bb | ||
|
|
9823520d00 | ||
|
|
4e54bed176 | ||
|
|
3c52e96359 | ||
|
|
1444d14a57 | ||
|
|
6a8156bc74 | ||
|
|
cc0e6db4a7 | ||
|
|
c49bfa33a8 | ||
|
|
f3e9dee594 | ||
|
|
268930859e | ||
|
|
02e548f723 | ||
|
|
1085ba4502 | ||
|
|
cc65eb1ba9 | ||
|
|
9b9df6f9c1 | ||
|
|
9d980e79c1 | ||
|
|
5a989e4a58 | ||
|
|
e489c6ef1d | ||
|
|
d7bca9f4a5 | ||
|
|
f4664288a9 | ||
|
|
eca0e35935 | ||
|
|
f8037f0d3a | ||
|
|
fc785b1f87 | ||
|
|
49a3eeee60 | ||
|
|
ea562a4929 | ||
|
|
5bb81c50b5 | ||
|
|
150f415e69 | ||
|
|
92d85fab85 | ||
|
|
72073176d2 | ||
|
|
532000fc31 | ||
|
|
0a7169ec69 | ||
|
|
b8e748103d | ||
|
|
7bd7dc0e62 | ||
|
|
68710f91f4 | ||
|
|
fd19361e35 | ||
|
|
213d061f0b | ||
|
|
9f43203b94 | ||
|
|
021c4ed2d3 | ||
|
|
d06877bd7d | ||
|
|
19625f0c13 | ||
|
|
bcf510b936 | ||
|
|
f6139782b4 | ||
|
|
c4297c7c25 | ||
|
|
f89ccb0f63 | ||
|
|
0ba8dd27f0 | ||
|
|
b08a3913e7 | ||
|
|
ac4d180382 | ||
|
|
c5da967d34 | ||
|
|
e916154e4e | ||
|
|
69656f095d | ||
|
|
1cc3d5b5eb | ||
|
|
228ad14fa9 | ||
|
|
067acd0521 | ||
|
|
91af4b5739 | ||
|
|
e267aeb1ca | ||
|
|
4e5e8f0644 | ||
|
|
a253393f58 | ||
|
|
0b1308e8f0 | ||
|
|
838d7a42eb | ||
|
|
55b60e06da | ||
|
|
7ee90cba7c | ||
|
|
bbb29459f6 | ||
|
|
f564b38987 | ||
|
|
78cab3ffe2 | ||
|
|
f8dcae93c5 |
@@ -3,27 +3,25 @@ when:
|
||||
branch: [ main ]
|
||||
|
||||
variables:
|
||||
- &node_image node:18-alpine
|
||||
- &git_image alpine/git
|
||||
- &curl_image curlimages/curl:latest
|
||||
node_image: &node_image node:18-alpine
|
||||
git_image: &git_image alpine/git
|
||||
curl_image: &curl_image curlimages/curl:latest
|
||||
nexus_api: &nexus_api http://nexus.cicd.exygen.fr/service/rest/v1
|
||||
woodpecker_api: &woodpecker_api http://woodpecker.cicd.exygen.fr/api
|
||||
|
||||
steps:
|
||||
# Étape 1: Nettoyage du projet
|
||||
- name: clean_project
|
||||
image: *git_image
|
||||
commands: |
|
||||
|
||||
echo "1 $CI_WORKSPACE"
|
||||
rm -rf dist
|
||||
rm -f $CI_WORKSPACE/build/version.env
|
||||
echo "✅ Nettoyage terminé"
|
||||
depends_on: [ ]
|
||||
commands:
|
||||
- rm -rf dist
|
||||
- rm -f $CI_WORKSPACE/build/version.env
|
||||
- echo "✅ Nettoyage terminé"
|
||||
|
||||
# Étape 2: Analyser le message du commit
|
||||
- name: prepare
|
||||
image: *git_image
|
||||
commands: |
|
||||
|
||||
COMMIT_MSG=$(git log -1 --pretty=%B)
|
||||
echo "📝 Message: $COMMIT_MSG"
|
||||
|
||||
@@ -109,6 +107,7 @@ steps:
|
||||
NEXUS_PASSWORD:
|
||||
from_secret: nexus_password
|
||||
NEXUS_REPOSITORY: domaine-passignat
|
||||
NEXUS_API: *nexus_api
|
||||
commands: |
|
||||
source $CI_WORKSPACE/version.env
|
||||
|
||||
@@ -124,16 +123,14 @@ steps:
|
||||
-u "$NEXUS_USERNAME:$NEXUS_PASSWORD" \
|
||||
-F "raw.directory=apps/$CI_REPO_NAME/$NEW_VERSION" \
|
||||
-F "raw.asset1=@$ARTIFACT_FILE" \
|
||||
-F "raw.asset1.filename=$ARTIFACT" \
|
||||
http://nexus.cicd.exygen.fr/service/rest/v1/components?repository=$NEXUS_REPOSITORY
|
||||
-F "raw.asset1.filename=$ARTIFACT" $NEXUS_API/components?repository=$NEXUS_REPOSITORY
|
||||
echo "✅ Artefact publié"
|
||||
else
|
||||
echo "⏭️ Pas de publication (version_type=none)"
|
||||
fi
|
||||
|
||||
depends_on: [ package ]
|
||||
|
||||
# Étape 7: Commit et tag (après publication)
|
||||
# Étape 7: Commit et tag
|
||||
- name: commit_tag
|
||||
image: *git_image
|
||||
environment:
|
||||
@@ -141,13 +138,15 @@ steps:
|
||||
from_secret: gitea_token
|
||||
commands: |
|
||||
source $CI_WORKSPACE/version.env
|
||||
|
||||
|
||||
if [ "$version_type" != "none" ]; then
|
||||
git remote set-url origin http://oauth2:$GITEA_TOKEN@gitea.cicd.exygen.fr/$CI_REPO_OWNER/$CI_REPO_NAME.git
|
||||
git config user.email "woodpecker@exygen.fr"
|
||||
git config user.name "Woodpecker CI"
|
||||
|
||||
git add package.json ./database/src/sql/*.sql 2>/dev/null || true
|
||||
echo "ℹ️ add generated files (sql)"
|
||||
git add ./database/src/sql/*.sql 2>/dev/null || true
|
||||
git add package.json 2>/dev/null || true
|
||||
|
||||
# Commiter uniquement s'il y a des changements
|
||||
if ! git diff --cached --quiet; then
|
||||
@@ -165,13 +164,23 @@ steps:
|
||||
else
|
||||
echo "⚠️ Aucun changement à commiter"
|
||||
fi
|
||||
ls -als
|
||||
depends_on: [ publish ]
|
||||
|
||||
- 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 mb local/cicd || true
|
||||
- mc cp .buildinfo local/cicd/repository_$CI_REPO_REMOTE_ID/pipeline_$CI_PIPELINE_NUMBER
|
||||
depends_on: [ commit_tag ]
|
||||
|
||||
# Étape 8: Déclencher le déploiement
|
||||
- name: trigger-deployment
|
||||
image: curlimages/curl:latest
|
||||
environment:
|
||||
WOODPECKER_API: *woodpecker_api
|
||||
WOODPECKER_TOKEN:
|
||||
from_secret: woodpecker_token
|
||||
commands: |
|
||||
@@ -180,9 +189,8 @@ steps:
|
||||
echo "🚀 Déclenchement du déploiement pour la version $NEW_VERSION"
|
||||
echo "🚀 $CI_REPO_OWNER"
|
||||
echo "🚀 $CI_REPO_NAME"
|
||||
echo "http://woodpecker.cicd.exygen.fr/api/repos/$CI_REPO_OWNER/$CI_REPO_NAME/pipelines"
|
||||
curl -v --fail -X POST \
|
||||
"http://woodpecker.cicd.exygen.fr/api/repos/$CI_REPO_OWNER/$CI_REPO_NAME/pipelines" \
|
||||
echo "$WOODPECKER_API/repos/$CI_REPO_OWNER/$CI_REPO_NAME/pipelines"
|
||||
curl -v --fail -X POST "$WOODPECKER_API/repos/$CI_REPO_OWNER/$CI_REPO_NAME/pipelines" \
|
||||
-H "Authorization: Bearer $WOODPECKER_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
@@ -197,6 +205,8 @@ steps:
|
||||
echo "⏭️ Pas de déclenchement (version_type=none)"
|
||||
fi
|
||||
depends_on: [ commit_tag ]
|
||||
when:
|
||||
- event: never
|
||||
|
||||
- name: trigger-deployment2
|
||||
image: woodpeckerci/plugin-trigger
|
||||
@@ -218,4 +228,6 @@ steps:
|
||||
# (Optionnel) Attendre la fin du pipeline déclenché
|
||||
wait: true
|
||||
# Déclenche cette étape uniquement après une publication réussie
|
||||
depends_on: [ commit_tag ]
|
||||
depends_on: [ commit_tag ]
|
||||
when:
|
||||
- event: never
|
||||
|
||||
@@ -1,19 +1,38 @@
|
||||
# Documentation: https://woodpecker-ci.org/docs/usage/workflow-syntax
|
||||
|
||||
when:
|
||||
- event: deployment
|
||||
- event: [ deployment,manual ]
|
||||
variables:
|
||||
minio_mc: &minio_mc minio/mc
|
||||
appleboy_drone_scp: &appleboy_drone_scp appleboy/drone-scp
|
||||
appleboy_drone_ssh: &appleboy_drone_ssh appleboy/drone-ssh
|
||||
curlimages_curl: &curlimages_curl curlimages/curl:latest
|
||||
NEXUS_URL: https://nexus.cicd.exygen.fr/repository/domaine-passignat/apps
|
||||
|
||||
|
||||
steps:
|
||||
- name: get-share-data
|
||||
image: *minio_mc
|
||||
commands:
|
||||
- echo "ℹ️ Save pipeline info"
|
||||
- mc alias set local http://minio:9000 minioadmin minioadmin123
|
||||
- mc get local/cicd/repository_$CI_REPO_REMOTE_ID/pipeline_$CI_PIPELINE_PARENT .buildinfo
|
||||
- ls -als
|
||||
- more .buildinfo
|
||||
|
||||
- name: get-artifact
|
||||
image: curlimages/curl:latest
|
||||
image: *curlimages_curl
|
||||
commands: |
|
||||
VERSION=${CI_COMMIT_TAG#v}
|
||||
curl -o /tmp/${CI_REPO_NAME}-${VERSION}.tar \
|
||||
"https://nexus.cicd.exygen.fr/repository/domaine-passignat/apps/${CI_REPO_NAME}/${VERSION}/${CI_REPO_NAME}-${VERSION}.tar"
|
||||
- ls -als
|
||||
- more .buildinfo
|
||||
- source .buildinfo
|
||||
- echo new version: ${NEW_VERSION}
|
||||
- curl -o /tmp/${CI_REPO_NAME}-${NEW_VERSION}.tar "$NEXUS_URL/${CI_REPO_NAME}/${NEW_VERSION}/${CI_REPO_NAME}-${VERSION}.tar"
|
||||
depends_on: [ get-share-data]
|
||||
|
||||
# Étape 7: Transfert vers le serveur distant (SCP)
|
||||
- name: transfert
|
||||
image: appleboy/drone-scp
|
||||
image: *appleboy_drone_scp
|
||||
settings:
|
||||
host:
|
||||
from_secret: remote_host
|
||||
@@ -22,13 +41,13 @@ steps:
|
||||
password:
|
||||
from_secret: remote_password
|
||||
port: 22
|
||||
source: /tmp/${CI_REPO_NAME}-${VERSION}.tar
|
||||
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
|
||||
image: *appleboy_drone_ssh
|
||||
environment:
|
||||
SUDO_PASSWORD:
|
||||
from_secret: remote_password
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
when:
|
||||
- event: [ push, deployment, manual ]
|
||||
|
||||
steps:
|
||||
- name: test
|
||||
image: alpine
|
||||
commands: |
|
||||
echo "Pipeline déclenché !"
|
||||
echo "Event: ${CI_PIPELINE_EVENT}"
|
||||
echo "Deploy to: ${CI_PIPELINE_DEPLOY_TARGET}"
|
||||
1
database/src/sql/version-0.0.17-0.0.18.sql
Normal file
1
database/src/sql/version-0.0.17-0.0.18.sql
Normal file
@@ -0,0 +1 @@
|
||||
-- none
|
||||
1
database/src/sql/version-0.0.18-0.0.19.sql
Normal file
1
database/src/sql/version-0.0.18-0.0.19.sql
Normal file
@@ -0,0 +1 @@
|
||||
-- none
|
||||
1
database/src/sql/version-0.0.19-0.0.20.sql
Normal file
1
database/src/sql/version-0.0.19-0.0.20.sql
Normal file
@@ -0,0 +1 @@
|
||||
-- none
|
||||
1
database/src/sql/version-0.0.20-0.0.21.sql
Normal file
1
database/src/sql/version-0.0.20-0.0.21.sql
Normal file
@@ -0,0 +1 @@
|
||||
-- none
|
||||
1
database/src/sql/version-0.0.21-0.0.22.sql
Normal file
1
database/src/sql/version-0.0.21-0.0.22.sql
Normal file
@@ -0,0 +1 @@
|
||||
-- none
|
||||
1
database/src/sql/version-0.0.22-0.0.23.sql
Normal file
1
database/src/sql/version-0.0.22-0.0.23.sql
Normal file
@@ -0,0 +1 @@
|
||||
-- none
|
||||
1
database/src/sql/version-0.0.23-0.0.24.sql
Normal file
1
database/src/sql/version-0.0.23-0.0.24.sql
Normal file
@@ -0,0 +1 @@
|
||||
-- none
|
||||
1
database/src/sql/version-0.0.24-0.0.25.sql
Normal file
1
database/src/sql/version-0.0.24-0.0.25.sql
Normal file
@@ -0,0 +1 @@
|
||||
-- none
|
||||
1
database/src/sql/version-0.0.25-0.0.26.sql
Normal file
1
database/src/sql/version-0.0.25-0.0.26.sql
Normal file
@@ -0,0 +1 @@
|
||||
-- none
|
||||
1
database/src/sql/version-0.0.26-0.0.27.sql
Normal file
1
database/src/sql/version-0.0.26-0.0.27.sql
Normal file
@@ -0,0 +1 @@
|
||||
-- none
|
||||
1
database/src/sql/version-0.0.27-0.0.28.sql
Normal file
1
database/src/sql/version-0.0.27-0.0.28.sql
Normal file
@@ -0,0 +1 @@
|
||||
-- none
|
||||
1
database/src/sql/version-0.0.28-0.0.29.sql
Normal file
1
database/src/sql/version-0.0.28-0.0.29.sql
Normal file
@@ -0,0 +1 @@
|
||||
-- none
|
||||
1
database/src/sql/version-0.0.29-0.0.30.sql
Normal file
1
database/src/sql/version-0.0.29-0.0.30.sql
Normal file
@@ -0,0 +1 @@
|
||||
-- none
|
||||
1
database/src/sql/version-0.0.30-0.0.31.sql
Normal file
1
database/src/sql/version-0.0.30-0.0.31.sql
Normal file
@@ -0,0 +1 @@
|
||||
-- none
|
||||
1
database/src/sql/version-0.0.31-0.0.32.sql
Normal file
1
database/src/sql/version-0.0.31-0.0.32.sql
Normal file
@@ -0,0 +1 @@
|
||||
-- none
|
||||
1
database/src/sql/version-0.0.32-0.0.33.sql
Normal file
1
database/src/sql/version-0.0.32-0.0.33.sql
Normal file
@@ -0,0 +1 @@
|
||||
-- none
|
||||
1
database/src/sql/version-0.0.33-0.0.34.sql
Normal file
1
database/src/sql/version-0.0.33-0.0.34.sql
Normal file
@@ -0,0 +1 @@
|
||||
-- none
|
||||
1
database/src/sql/version-0.0.34-0.0.35.sql
Normal file
1
database/src/sql/version-0.0.34-0.0.35.sql
Normal file
@@ -0,0 +1 @@
|
||||
-- none
|
||||
1
database/src/sql/version-0.0.35-0.0.36.sql
Normal file
1
database/src/sql/version-0.0.35-0.0.36.sql
Normal file
@@ -0,0 +1 @@
|
||||
-- none
|
||||
1
database/src/sql/version-0.0.36-0.0.37.sql
Normal file
1
database/src/sql/version-0.0.36-0.0.37.sql
Normal file
@@ -0,0 +1 @@
|
||||
-- none
|
||||
1
database/src/sql/version-0.0.37-0.0.38.sql
Normal file
1
database/src/sql/version-0.0.37-0.0.38.sql
Normal file
@@ -0,0 +1 @@
|
||||
-- none
|
||||
1
database/src/sql/version-0.0.38-0.0.39.sql
Normal file
1
database/src/sql/version-0.0.38-0.0.39.sql
Normal file
@@ -0,0 +1 @@
|
||||
-- none
|
||||
1
database/src/sql/version-0.0.39-0.0.40.sql
Normal file
1
database/src/sql/version-0.0.39-0.0.40.sql
Normal file
@@ -0,0 +1 @@
|
||||
-- none
|
||||
1
database/src/sql/version-0.0.40-0.0.41.sql
Normal file
1
database/src/sql/version-0.0.40-0.0.41.sql
Normal file
@@ -0,0 +1 @@
|
||||
-- none
|
||||
1
database/src/sql/version-0.0.41-0.0.42.sql
Normal file
1
database/src/sql/version-0.0.41-0.0.42.sql
Normal file
@@ -0,0 +1 @@
|
||||
-- none
|
||||
1
database/src/sql/version-0.0.42-0.0.43.sql
Normal file
1
database/src/sql/version-0.0.42-0.0.43.sql
Normal file
@@ -0,0 +1 @@
|
||||
-- none
|
||||
1
database/src/sql/version-0.0.43-0.0.44.sql
Normal file
1
database/src/sql/version-0.0.43-0.0.44.sql
Normal file
@@ -0,0 +1 @@
|
||||
-- none
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "cicd",
|
||||
"private": true,
|
||||
"version": "0.0.17",
|
||||
"version": "0.0.44",
|
||||
"description": "Node.js Rest Apis with Express, Sequelize & PostgreSQL",
|
||||
"scripts": {
|
||||
"update:patch": "node scripts/update-version.js -patch",
|
||||
|
||||
Reference in New Issue
Block a user