Savez-vous pourquoi de plus en plus d'entreprises choisissent de migrer leurs projets de Gitlab vers GitHub ? C'est un mouvement qui prend de l'ampleur, et pour de bonnes raisons. Captive a récemment effectué cette transition, et l'expérience mérite d'être partagée.
- Identifier un projet non migré efficacement.
- Cloner et déplacer un repo d'une plateforme à l'autre.
- Les raisons qui ont motivé notre changement.
Naviguer dans le processus de migration d'un projet de Gitlab vers Github 📦
Lorsque l'on envisage de migrer des projets de Gitlab vers Github, la première étape cruciale consiste à identifier les projets qui n'ont pas encore été déplacés. Dans le cas de Captive, cela s'est fait en visitant la page des projets de Gitlab et en vérifiant si le nom du projet était accompagné d'un emoji 🚚 qui signalait qu'il avait déjà été migré. Cet indicateur visuel simple mais efficace permet de gérer les migrations en un coup d'œil.
Une fois les projets non migrés identifiés, le processus commence réellement avec le clonage du dépôt Gitlab pertinent. Utiliser une clé SSH pour cloner ces dépôts est essentiel pour assurer la sécurité et l'efficacité du transfert. Une fois cloné, il est temps de créer le nouveau projet sur Github et d'ajouter le dépôt distant Github au projet local. Cette étape est réalisée en ajoutant un "remote" pour Github pour permettre le transfert facile de données.
Enfin, pousser le code sur Github devient un jeu d'enfant avec la commande git push
pour compléter la migration. N'oubliez pas de marquer le projet sur Gitlab avec un emoji 🚚 pour confirmer sa migration. Cela permet à toute l'équipe de visualiser les progrès et de savoir quel dépôt est en cours de migration ou a déjà été traité.
Pourquoi Captive a choisi de migrer : analyse des avantages
La décision de migrer de Gitlab vers Github chez Captive n'a pas été prise à la légère. Une des principales raisons fut l'augmentation des coûts associés aux licences Gitlab, notamment avec les licences Self-hosted qui nécessitent des frais d'hébergement. Ces coûts supplémentaires, combinés à des intégrations difficiles avec certains services, en particulier pour les instances hébergées en propre, ont poussé Captive à considérer d'autres options.
L'intégration simplifiée et l'écosystème ouvert de Github ont pesé lourdement dans la balance. De nombreuses entreprises, y compris Captive, JHipster, et d'autres ont vu dans Github une solution non seulement plus économique mais aussi mieux intégrée. Cela permet non seulement un meilleur workflow, mais également d'accéder à une plus large communauté et à de nombreuses ressources open-source.
Les erreurs à éviter lors de la migration ⚠️
Aucune migration n'est sans risque d'erreur, et passer de Gitlab à Github ne fait pas exception. Voici quelques pièges courants à éviter :
- Oublier de cloner le dépôt en utilisant une clé SSH : cela pourrait entraîner des problèmes de sécurité et de vérification d'identité.
- Ne pas vérifier la complétude des données : oubliez de vérifier si tous les fichiers et l'historique des modifications sont bien transférés peut conduire à des pertes de données.
- Ignorer les dépendances externes : assurez-vous que toutes les intégrations et workflows fonctionnent également sur la nouvelle plateforme.
- Ne pas tenir l'équipe informée : assurez-vous que tout le monde est au courant des nouvelles procédures et des changements associés à l'utilisation de Github.
Aller plus loin : conseils pour une migration sereine
Il existe des moyens de s'assurer que le passage à Github se fait sans accroc supplémentaire. Préparez-vous à tester minutieusement vos projets après la migration pour vous assurer que tout fonctionne correctement. Utilisez les fonctionnalités d'intégration continue et de déploiement continu de Github pour automatiser les tests et les déploiements. Former les membres de votre équipe sur les nouvelles fonctionnalités et les écarts par rapport à Gitlab peut également améliorer l'adoption et l'efficacité globale de l'équipe.
Enfin, restez à l'affût des mises à jour de Github qui peuvent simplifier encore davantage votre flux de travail et offrir de nouvelles fonctionnalités bénéfiques à votre projet.