Git/GitHub
GitHub est une forge logicielle lancée en 2008, puis rachetée par la société Microsoft en 2018.
Contrairement à GitLab, il ne peut y avoir qu'un seul admin par repo[1], mais on peut créer des groupes d'utilisateurs pour son organisation[2][3]. Donc s'il y a plusieurs mainteneurs de prévu, mieux vaut créer le dépôt dans l'organisation au lieu de le faire dans un profil personnel.
Interface
[modifier | modifier le wikicode]GitHub est utilisable 100 % en ligne, possède aussi un client lourd pour générer des commandes Git.
Dans la vue de comparaison, ajouter "w=1" (white spaces) à l'URL permet de masquer les modifications d'espaces et retours à la ligne.
CI/CD
[modifier | modifier le wikicode]Les pipelines ont été ajoutés en 2019 dans GitHub Actions.
Ils sont configurés en cliquant sur "Actions", et sauvegardés dans des .yml du dossiers .github/worflows/ de l'application.
Exemple simple
[modifier | modifier le wikicode]Pipeline avec deux étapes successives en Python, dans le fichier .github/worflows/python_app.yml :
name: Python application
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python 3.10
uses: actions/setup-python@v3
with:
python-version: "3.10"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Test
run: |
python tests/my_test.py
Migrer de GitHub vers GitLab
[modifier | modifier le wikicode]L'interface graphique de GitLab permet d'importer un dépôt GitHub dont on est admin mais cela ne change pas la configuration des PCs et serveurs qui pointaient vers GitHub.
Pour ce faire, depuis chacun d'eux[4] :
git remote rename origin origin_github git remote add origin https://gitlab.com/mon_organisation/mon_repo # Si besoin de mettre à jour git push -u origin
Références
[modifier | modifier le wikicode]- ↑ Repositories owned by personal accounts have one owner. Ownership permissions can't be shared with another personal account
- ↑ https://github.com/account/organizations/new?plan=free
- ↑ https://docs.github.com/en/organizations/organizing-members-into-teams/creating-a-team
- ↑ https://rtask.thinkr.fr/transform-a-folder-as-git-project-synchronized-on-github-or-gitlab/