AWS Elastic Beanstalk et Compositeur
J'ai une application avec le Compositeur dépendances qui je souhaite déployer un Elastic Beanstalk conteneur. Cependant mon compositeur.fichier json n'est pas dans le dossier racine du projet. Mon projet de la racine a la structure suivante:
- .ebextensions
- scripts
- www (Webroot)
- composer.json
Et j'ai mis à la racine du document d' /www dans le conteneur des options de configuration. Le problème est que j'ai besoin d'installer compositeur sur la boîte et exécuter le compositeur script d'installation pour ajouter les dépendances du projet. Je comprends que lors du déploiement EB va vérifier pour voir si il y a un compositeur.fichier json à la racine du projet et de l'installer Compositeur, mais dans ce cas, mon compositeur.fichier json est dans un sous-répertoire.
Je pensais que pourrait utiliser .ebextenstions pour ajouter des commandes à installer Compositeur et dépendances après l'application a été déployée. J'ai créé un fichier .ebextensions/01-compositeur.config avec le conteneur suivant les commandes:
container_commands:
01-install-composer:
command: "curl -sS https://getcomposer.org/installer | php"
02-install-packages:
command: "php composer.phar install"
cwd: "/var/app/current/www/"
Mais mon application ne sont pas déployer avec cette configuration. Aimeraient avoir l'aide à voir où je vais mal.
Grâce.
Un test rapide et cela semble avoir fonctionné. Merci. Ne sais pas pourquoi je n'ai pas vraiment penser que, semble aujourd'hui évident.
J'ai eu un peu le problème connexe. Il est important de noter que vous avez besoin pour créer le .ebextensions dossier-- ne pas utiliser l'existant .elasticbeanstalk dossier.
OriginalL'auteur Adrian Walls | 2013-07-08
Vous devez vous connecter pour publier un commentaire.
Compositeur est déjà installé par défaut dans Beanstalk PHP AMI.
Aussi considérer que container_commands sont couru dans '/var/app/ondeck' et non pas sur le courant. Essayez quelque chose comme ceci:
Le
ondeck
répertoire est créé au cours de container_commands phase. Voici un petit résumé de: * télécharger la nouvelle version * de l'extrait de code sur /var/app/ondeck * exécuter toutescommands
* exécuter toutescontainer_commands
avec par défaut la MDC=/var/app/ondeck * s'il passait sans erreurs, il remplacera l'actuel ondeck :modifier raisons: merde bouton enter agissant comme ENREGISTRER.Merci, c'est vraiment utile de le savoir. J'ai déménagé compositeur pour le répertoire racine du projet, tel que suggéré par @tbjers et relié le tout à partir de là, qui, après un test rapide semble avoir fonctionné. Cela signifie EB traite de tout cela hors de la boîte et je n'ai pas de bricoler avec elle. Mais je vais essayer ce que bien juste de la curiosité.
OriginalL'auteur Ker Ruben Ramos
Juste une remarque, la plupart du PHP conteneurs AWS utilise dans Elastic Beanstalk sont auto déploiement par l'exécution de compositeur.phar installer maintenant. Vous devriez être en mesure de sauter cette étape si vous n'avez pas de "vendeurs" dossier présent. Si vous voulez l'exécuter manuellement, les méthodes ci-dessus devrait fonctionner, mais vous devriez seulement besoin de quelque chose comme @kewubenduben mentionné.
Si vous essayez d'accéder à une distance privée référentiel, consultez les questions et réponses ici: AWS Elastic Beanstalk à l'aide de PHP avec le Privé, Compositeur Dépôts , shameless plug.
OriginalL'auteur four43
Est allé à la suggestion fournis par @tbjes et déplacé compositeur fichiers liés à l'extérieur de mon document de la racine à la racine du projet et après un rapide test tout a l'air de fonctionner hors de la boîte, sans avoir à courir compositeur par .ebxtenstions fichiers de configuration.
OriginalL'auteur Adrian Walls