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#

  1. 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.

  2. 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.

  3. Dépendances :

    • curl : Pour effectuer la requête API.

    • jq : Pour analyser la réponse JSON et extraire pages_url.

  4. 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#

  1. Enregistrez le script dans un fichier (par exemple, get_gitlab_pages.sh).

  2. Ajoutez votre configuration :

    • Remplacez GITLAB_URL, PROJECT_ID et GITLAB_TOKEN par vos informations.

  3. Rendez le script exécutable :

    chmod +x get_gitlab_pages.sh
    
  4. 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#

  1. 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/.

  2. 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 ? 😊