Infra YesWiki

Débuts de notes sur les sujets infra.

Faire un miroir pour le code de github

Etape 1 : créer un repo miroir

  • Aller sur la page d'accueil de l'organisation "https://code.yeswiki.net/YesWiki"
  • Cliquer sur "Nouvelle migration"
  • Selectionner "GitHub"
  • Indiquer
  • "Migrer/Cloner depuis une URL" --> l'URL https du repo
  • Cocher "Rendre ce dépot miroir"
  • Cliquer sur "Migrer le dépôt"

Etape 2 : Cabler les webhooks

Par défaut la synchronisation se fait toutes les 8 heures. Il est possible de diminuer l'interval à quelques minutes mais comme la CI est faite directement sur forgejo, il est souhaitable de lancer une synchronisation à chaque commit pour gagner en réactivité et expérience développeur. Pour cela on passe par applicatif léger à l'adresse https://git-webhook.yeswiki.net/ qui réceptionne les webhook githubs et lance une nouvelle synchro sur forgejo.

Etape 2.1 : Ajouter la config du nouveau repo dans l'applicatif

  • Se connecter en sftp sur git-webhook.yeswiki.net, et modifier le fichier index.php
  • Rajouer le mapping entre repo github et le nouveau repo forgejo dans la variable FORGEJO_REPO_MAP
  • Ajouter une nouvelle clé de signature pour les repos github dans la variable GITHUB_SECRETS. Générer pour cela une chaine de caractères aléatoire

Etape 2.2 : Créer un nouveau webhook dans github

  • Aller sur le repo github
  • Cliquer sur "Settings" --> "Webhooks" --> "Add webhook"
  • Indiquer
    • "Payload URL" --> "https://git-webhook.yeswiki.net/"
    • "Content Type" --> "application/json"
    • "Secret" --> le secret généré précédemment
    • "Which events would you like to trigger this webhook?" --> "Just the push event."