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
modifierGitHub 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
modifierLes 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
modifierPipeline 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
modifierL'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- ↑ 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/