Skip to content
Snippets Groups Projects

add release script publishing in CI

Merged poka requested to merge ci-release into master
All threads resolved!
Files
2
+ 40
0
#!/bin/bash
# stop script if any command fails
set -e
# Vérifiez si le token d'accès privé GitLab est défini
if [ -z "$GITLAB_PRIVATE_TOKEN" ]; then
echo "Token d'accès privé GitLab non défini. Arrêt du script."
exit 1
fi
if [ -z "$CI_COMMIT_TAG" ]; then
echo "This script should only be run on a tag."
exit 1
fi
# Variables
PROJECT_ID="604"
RELEASE_NAME="v$CI_COMMIT_TAG"
RELEASE_DESCRIPTION="Release v$CI_COMMIT_TAG is awesome !"
ARTIFACT_PATH="target/release/gcli"
GITLAB_API_URL="https://git.duniter.org/api/v4"
# Création de la release
echo "Création de la release $RELEASE_NAME..."
curl --header "PRIVATE-TOKEN: $GITLAB_PRIVATE_TOKEN" \
--data "name=$RELEASE_NAME&tag_name=$CI_COMMIT_TAG&description=$RELEASE_DESCRIPTION" \
"$GITLAB_API_URL/projects/$PROJECT_ID/releases"
# Construction de l'URL de l'artéfact
ARTIFACT_URL="$CI_PROJECT_URL/-/jobs/artifacts/$CI_COMMIT_TAG/raw/$ARTIFACT_PATH?job=build"
# Ajout de l'artéfact à la release
echo "Ajout de l'artéfact à la release..."
curl --header "PRIVATE-TOKEN: $GITLAB_PRIVATE_TOKEN" \
--data-urlencode "url=$ARTIFACT_URL" \
--data-urlencode "name=$(basename $ARTIFACT_PATH)" \
"$GITLAB_API_URL/projects/$PROJECT_ID/releases/$CI_COMMIT_TAG/assets/links"
echo "Script terminé."
Loading