Posté le
Cela faisait quelques temps que je souhaitais quitter l'écosystème de Github. Il y a plusieurs raisons à cela, que le blog d'Iroco résume très bien.
Je pourrais rajouter les points suivants:
- GitHub prend une place prépondérante dans le monde du développement, et les monopoles ne sont jamais bon signe.
- J'ignore tout de la politique d'hébergement de Github Pages et de leur efforts en terme de lutte contre le réchauffement climatique.
Toutes ces raisons m'ont donc poussé à quitter GitHub et au passage à choisir un autre hébergeur. L'élu a été Infomaniak, un choix d'autant plus facile que c'est le service que j'utilise déjà pour mon nom de domaine et qu'un hébergement était inclus dans mon offre. Pour ne rien gâcher, leur politique de durabilité est intéressante.
Tout cela s'est passé en plusieurs étapes.
Migrer le code de GitHub vers Codeberg
Passer son code de GitHub à Codeberg est très simple. Après s'être créer un compte, Codeberg met à disposition un outil pour rapatrier son code.
Voici un résumé des étapes:
- Créer un access token chez Github en suivant les pages Settings > Developper Settings > Personnal Access Tokens (ou à l'url suivante settings/personal-access-tokens)
- Générer puis copier le token
- Chez Codeberg, créer un repository. En haut se trouve un petit lien intitulé Migrate repository. Cliquer dessus (ou se rendre directement à l'url https://codeberg.org/repo/migrate). Choisir GitHub, coller l'url du repo en .git, le token, et ajuster les paramètres comme le nom du repo et sa visiblité chez Codeberg
- Cliquer sur Migrer et le tour est joué.
Lorsque le repo est créé, faire pointer le code existant vers le nouveau repo avec la commande suivante:
git remote set-url origin https://codeberg.org/jeanremy/jeanremypraud.com.git
Adaptation du script de déploiement
Pour remplacer GitHub Pages, j'avais deux choix: utiliser son pendant chez Codeberg, nommé git-pages, ou utiliser mon hébergement Infomaniak. C'est cette dernière voie que j'ai suivie.
Pour ce faire, j'ai suivi les étapes suivantes:
- Créer un utilisateur FTP sur Infomaniak
- Ajouter 3 secrets dans codeberg : FTP_HOST, FTP_USER et FTP_PASSWD.
- Ajouter une forgejo action dans mon repo qui a cette forme:
name: Eleventy Build
on:
push:
branches:
- main
jobs:
deploy:
runs-on: codeberg-small-lazy
steps:
- name: Checkout repo
uses: https://data.forgejo.org/actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 22
- name: Install dependencies and build site
run: |
npm install
npm run build
- name: Deploy to Infomaniak via FTP
uses: https://github.com/kevinpainchaud/simple-ftp-deploy-action@v1.2.1
with:
ftp_host: ${{ secrets.FTP_HOST }}
ftp_username: ${{ secrets.FTP_USER }}
ftp_password: ${{ secrets.FTP_PASSWD }}
local_source_dir: "_site"
dist_target_dir: "/"
delete: "true"
exclude: ".ftpquota" #specific for infomaniak
J'ai un déploiement automatisé un peu old school (en FTP 🤙) qui me plait pas mal. Très simple, adapté à mes besoins, et qui me permet de tirer parti des ressources que j'ai. Le tout sans alimenter une IA inutile.
Sources utiles:
https://blog.iroco.co/pourquoi-quitter-github