[Composer] Utiliser un repo privé comme dépendance

Code javascript

Comment utiliser un repo privé sur Bitbucket pour en faire un vendor dans un projet.

Catégorie(s) : configuration
Écrit le : 10/06/2020
Vous avez un projet sur un repository privé que vous aimeriez utiliser comme dépendance d'un autre projet ? C'est tout à fait possible avec Composer et Bitbucket.

Étape 1 : Avoir une clef SSH

La première étape est d'avoir une clef SSH configurée sur la machine qui va appeler composer et sur votre compte Bitbucket.
Pour savoir comment faire je vous mets le lien vers la FAQ de Bitbucket.

Étape 2 : Configurer votre composer.json

Ensuite, il va falloir ouvrir le composer.json de votre projet et ajouter les lignes suivantes à l'intérieur.

"repositories": [
    {
        "type": "vcs",
        "url": "https://monLogin@bitbucket.org/monProjet/monDepot.git"
    },
],

Ces premières lignes servent à décrire l'emplacement de votre repo, vous pouvez bien sûr ajouter autant de repo que vous le souhaitez dans le tableau repositories.

Enfin il va falloir, comme n'importe quel autre repo, ajouter la ligne qui demande votre repo dans la partie require du composer.json.

"monProjet/monDepot": "dev-master",

Attention ici le nom du dépôt doit correspondre à ce que vous avez inscrit dans la description (champ name) situé dans le composer.json de ce repo distant.
Dans mon repo distant le composer.json ressemble à ça :

{
    "name": "monProjet/monDepot",
    "description": "Ceci est mon repo distant",
}

L'inscription dev-master permet de toujours récupérer le dernier état (avec tous les commits à jour) de la branche master.

Étape 3 : Installation

Pour terminer l'installation il ne reste plus qu'à lancer la mise à jour de composer avec la commande

composer update


Et voilà ! Votre repo privé est installé dans votre projet et vous pouvez continuer à développer les deux séparément sans contraintes.