GitLab CI/CD
Git/GitHub
 est une forge logicielle lancée en 2008, puis rachetée par la société en 2018.
Contrairement à GitLab, il ne peut y avoir qu'un seul admin par repo, mais on peut créer des groupes d'utilisateurs pour son organisation.
Interface.
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.
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.
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

Git/Bitbucket
 est une forge logicielle de la société , lancée en 2008.
CI/CD.
La configuration des pipelines se trouve dans bitbucket-pipelines.yml.
Un éditeur / validateur en ligne existe sur https://bitbucket-pipelines.atlassian.io/validator.
Les variables spécifiques aux pipelines (qui ne doivent être versionnées dans le dépôt) sont configurables dans l'interface sur /admin/addon/admin/pipelines/repository-variables.
Runners.
La version gratuite permet de lancer 50 min de pipelines par mois.
Pour éviter cela, on peut lancer les builds sur ses propres serveurs (runners), définis dans /admin/addon/admin/pipelines/runners.
Exemple simple.
Voici un pipeline avec deux étapes parallèles PHP :
image: composer:latest
pipelines:
 default:
 - parallel:
 - step:
 name: UnitTest
 script:
 - composer install
 - bin/phpunit
 caches:
 - composer
 - step:
 name: QualityCheck
 script:
 - composer install
 - bin/phpcs
 caches:
 - composer

Le mouvement Wikimédia/Le mouvement du logiciel libre