Comment ajouter privé github, en tant que Compositeur de la dépendance
J'ai la suite dans ma Laravel 5.1 projets compositeur.json pour ajouter un public github comme une dépendance.
...
"repositories": [
{
"type": "package",
"package": {
"name": "myVendorName/my_private_repo",
"version": "1.2.3",
"source": {
"type" : "git",
"url" : "git://github.com/myVendorName/my_private_repo.git",
"reference" : "master"
},
"dist": {
"url": "https://github.com/myVendorName/my_private_repo/archive/master.zip",
"type": "zip"
}
}
}
],
"require": {
....
"myVendorName/my_private_repo": "*",
},
...
Cela fonctionne tant que le référentiel est public. Maintenant j'ai mis ce référentiel privé. Le git informations d'identification que j'utilise pour le tirant/poussant à "my_private_repo" sont l'un des colaborator du projet. Comment puis-je obtenir que le compositeur tire à partir de ce repository privé quand je lance compositeur de mise à jour ou compositeur installer?
OriginalL'auteur epic_antihero | 2016-11-15
Vous devez vous connecter pour publier un commentaire.
Travailler avec des dépôts privés à GitHub et BitBucket:
JSON
La seule exigence est l'installation de clés SSH pour un client de git.
Docs
The only requirement is the installation of SSH keys for a git client
signifie?Une façon de vérifier que l'exemple ci-dessus compositeur.json, serait le premier à s'assurer qu'une commande comme
git clone [email protected]:vendor/my-private-repo.git
fonctionne sur la machine sur laquelle le compositeur sera exécuté. Pour moi, ce clone de commande ne fonctionne pas comme j'ai l'habitude d'utiliser SSH Alias commegit clone git@my-alias:vendor/my-private-repo.git
Juste une remarque que la propriété référencée dans
require
désigne le nom du package (c'est à dire le nom de lacomposer.json
de la dépendance) pas le nom du dépôt, qui peut être différente.OriginalL'auteur Sofiene Djebali
J'espère que ma réponse ne vient pas trop tard, car je viens d'apprendre de mon auto. A également fait une entrée sur mon blog: https://keevitaja.com/posts/using-github-private-repositories-as-composer-dependencies
Générer une clé ssh
Vous pouvez générer des n+1 clés ssh avec la commande ssh-keygen. Assurez-vous que vous faites cela dans le serveur!
Après à l'aide de la commande ssh-keygen vous serez invité à entrer le nom de fichier et le mot de passe. Vous avez besoin d'une clé pour chaque dépôt que vous allez utiliser en tant que compositeur de la dépendance. Dans cet exemple, le repo1 est le nom de fichier.
Configuration du ssh pour ramasser la clé correcte
Dans les serveurs de ~/.ssh/fichier de configuration, vous pouvez assigner un alias pour chaque dépôt GitHub. Sinon compositeur essaie d'utiliser la valeur par défaut id_rsa.
Configuration Compositeur
Dans des projets compositeur.fichier json, vous devez ajouter les dépôts que vous voulez tant que dépendances:
repo1 et repo2 sont les alias que vous avez créé dans ~/ssh/config fichier. La pleine GitHub url ssh pour repo1 serait:
[email protected]:YourAccount/repo1.git
Et maintenant, vous devriez être ensemble pour de bon. Vous pouvez maintenant besoin de vos dépendances:
composer require youraccount/repo1 -n
composer require youraccount/repo2 -n
OriginalL'auteur Tanel Tammik