À l'aide de Compositeur et Privé Repository sur GitHub à l'aide de VCS sur le Serveur de Build
Mon compsoser.json utilise 2 dépôts privés de notre Organisation Compte Github et est comme suit.
{
"name": "API",
"repositories": [
{
"type": "vcs",
"url": "[email protected]/company/private.git"
},
{
"type": "vcs",
"url": "[email protected]/company/private2.git"
}
],
"require": {
"php": ">=5.3.3",
"zendframework/zendframework": ">2.1.3",
"doctrine/mongodb-odm": "dev-master",
"doctrine/doctrine-mongo-odm-module": "dev-master",
"company/private": "dev-master",
"company/private2": "dev-master"
}
}
Nous avons le programme d'installation de clés SSH et les ajouter à l'clés autorisées sur notre serveur de test. Lorsque nous lancez la commande git clone, il fonctionne parfaitement et n'est pas en train de demander les informations d'identification.
Cependant, quand nous courons compositeur de mise à jour de la collecte des dépôts échoue parce que le compositeur n'a pas accès aux dépôts.
Puisque c'est couru en mode non interactif, car cela fait partie d'un script de compilation, nous ne pouvons pas entrer les informations d'identification et aime avoir ce automatisé.
Que pouvons-nous faire pour laisser compositeur ont accès à nos pensions, lors de la construction?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez configurer compositeur à utiliser des fichiers de clés pour l'accès privé référentiel.
Plus d'infos: https://getcomposer.org/doc/articles/handling-private-packages-with-satis.md#security
Je comprends la question de titre mentionne spécifiquement à l'aide de type " vcs " mais c'est un autre méthode de l'aide privée repos git pour déployer un projet comme un paquet.
La limitation est que vous devez modifier manuellement le numéro de version à chaque fois que vous déployez si vous voulez la dernière version. Cependant, c'est aussi son avantage.
La définition d'un repo de cette façon, vous permettra de tirer un spécifiques tagged version. Dans ce cas, la validation de tag
0.1.0
sera tiré surcomposer update
.Vous aurez besoin d'ajouter les clés SSH du serveur que vous déployez dans votre compte github.
Les Url dans votre question initiale manque une virgule:
devrait être
J'ai juste eu le même problème et ce qu'il est corrigé.
J'ai vraiment apprécié les réponses et des conseils; cependant, pourrait pas obtenir la solution de travail pour moi. Et, je pense que la réponse pourrait utiliser quelques détails supplémentaires à propos de ce qui semble se passer ici.
composer.json
.composer.json
.Les deux choses qui m'a donné le plus grand problème était le côlon (
:
) n'est pas (ne devrait pas?) être suivi par un slash (/
). N'oubliez pas de mettre.git
à la fin de laurl
.Points de la conjecture et de l'incertitude:
package.name
membre à quelque chose d'incorrect. En d'autres termes, je ne sais pas si c'est une référence interne pourrequire
seul; ou, s'il y aura quelque chose d'autre qui s'y passe.