gitlab pages#
Pour obtenir le lien vers les GitLab Pages d’un projet sur Framagit (ou tout autre instance GitLab), vous pouvez utiliser l’API GitLab pour récupérer les métadonnées du projet et extraire l’URL des GitLab Pages si elles sont configurées.
Voici comment faire avec un script Bash :
Script : Obtenir l’URL GitLab Pages#
#!/bin/bash
# Configuration
GITLAB_URL="https://framagit.org" # URL de l'instance GitLab
PROJECT_ID="votre_project_id" # ID ou chemin du projet (e.g., username/repo)
GITLAB_TOKEN="votre_token_personnel" # Token API avec permissions nécessaires
# Vérification des dépendances
if ! command -v curl &> /dev/null; then
echo "Erreur : curl est nécessaire mais non installé."
exit 1
fi
if ! command -v jq &> /dev/null; then
echo "Erreur : jq est nécessaire mais non installé."
exit 1
fi
# Récupérer les métadonnées du projet
echo "Récupération des métadonnées pour le projet : $PROJECT_ID"
metadata=$(curl --silent --header "Authorization: Bearer $GITLAB_TOKEN" \
"$GITLAB_URL/api/v4/projects/$PROJECT_ID")
# Vérifier si la requête a réussi
if [ -z "$metadata" ]; then
echo "Erreur : Impossible de récupérer les métadonnées du projet."
exit 1
fi
# Extraire l'URL des GitLab Pages
PAGES_URL=$(echo "$metadata" | jq -r '.pages_url')
if [ "$PAGES_URL" == "null" ]; then
echo "Les GitLab Pages ne sont pas configurées pour ce projet."
else
echo "L'URL des GitLab Pages pour le projet est : $PAGES_URL"
fi
Explications#
Paramètres personnalisables :
GITLAB_URL
: L’URL de votre instance GitLab (par exemple,https://framagit.org
).PROJECT_ID
: L’identifiant ou le chemin du projet (exemple :username/repository
).GITLAB_TOKEN
: Token API personnel avec les permissions nécessaires.
L’API utilisée :
Le script appelle l’API REST de GitLab à l’adresse suivante :
https://framagit.org/api/v4/projects/<PROJECT_ID>
Le champ
pages_url
des métadonnées retourne l’URL des GitLab Pages si elles sont configurées.
Dépendances :
curl
: Pour effectuer la requête API.jq
: Pour analyser la réponse JSON et extrairepages_url
.
Sortie du script :
Si les GitLab Pages sont configurées, le script affiche leur URL.
Sinon, un message indique qu’elles ne sont pas configurées.
Étapes pour exécuter le script#
Enregistrez le script dans un fichier (par exemple,
get_gitlab_pages.sh
).Ajoutez votre configuration :
Remplacez
GITLAB_URL
,PROJECT_ID
etGITLAB_TOKEN
par vos informations.
Rendez le script exécutable :
chmod +x get_gitlab_pages.sh
Exécutez le script :
./get_gitlab_pages.sh
Résultat attendu#
Si les GitLab Pages sont configurées, le script affiche l’URL :
L'URL des GitLab Pages pour le projet est : https://username.framagit.org/repository/
Si elles ne sont pas configurées :
Les GitLab Pages ne sont pas configurées pour ce projet.
Dépannage#
Les GitLab Pages ne sont pas configurées ? :
Vérifiez que votre projet contient un fichier
.gitlab-ci.yml
qui configure les GitLab Pages.Assurez-vous que les fichiers générés sont placés dans un répertoire
public/
.
Le champ
pages_url
est vide ou null :Cela signifie que le projet n’a pas encore exécuté de pipeline pour publier des Pages.
Besoin d’aide pour configurer vos GitLab Pages ou tester le script ? 😊