Skip to content

Accès aux submodules refusé dans les jobs Gitlab-CI

Macao-Hugo utilise un thème Hugo, inclus dans le projet en tant que subvolume Git. Pour pouvoir le personnaliser (et notamment désactiver le mode sombre automatique), j'ai fait un fork du thème original hébergé sur Gitlab à macao/macao-hugo-theme. Depuis ce changement, la pipeline de déploiement Gitlab-Pages échoue.

  • Au départ, le submodule Git utilise une URL Git/SSH : gitlab@gitlab.tetras-libre.fr:macao/macao-hugo-theme.git (2bf01bd8) -> le runner Gitlab n'a pas d'accès SSH, donc le git clone échoue.
  • La doc Gitlab propose la variable GIT_SUBMODULE_FORCE_HTTPS: true qui convertit automatiquement -> pas mieux (78e0cbb9)
  • Mettre une URL relative ./macao-hugo-theme.git (761a3513) force le clone en HTTPS, mais comme le projet est privé, le runner n'a pas la permission d'y accéder.
  • Gitlab permet de configurer sur chaque projet une allowlist des autres projets qui ont le droit d'y accéder depuis leurs propres jobs CI : https://gitlab.tetras-libre.fr/help/ci/jobs/ci_job_token . Une fois configuré sur macao-hugo-theme, on a encore des problèmes d'authentification (le git clone est redirigé vers la page de connexion Gitlab #2383)