/ / déployer une application angulaire sur aws cloudfront

déployer une application angulaire sur aws cloudfront - javascript, angularjs, services-amazon-web, elastique-haricot, amazon-cloudfront

J'ai une application php laravel qui est essentiellement unapi auquel l'utilisateur aura accès via une application angulaire à une seule page. Actuellement, l'application angulaire est contenue dans le dossier public, mais je souhaite la dissocier d'elle-même pour pouvoir la déployer via amazon cloudfront.

j'ai trouvé ce article pour l'hébergement de sites Web statiques sur CloudFront qui explique la base, mais je ne trouve rien qui parle de la frappe d'une API avec votre site servi par cdn.

Je voudrais encore pouvoir avoir 3 différentsenvironnements, dev / staging et production, chacun ayant actuellement ses propres instances gérées par beanstalk élastique et bases de données distinctes. Je voudrais que leurs adresses soient dev.blah.com / staging.blah.com et blah.com respectivement et que chaque version de l'application angulaire atteigne le bon système, etc.

J'aimerais pouvoir déployer l'application angulaire de la même manière que celle que je déploie sur un beanstalk élastique, c.-à-d. Git push

Puis-je le configurer afin que je n'ai pas besoin de modifier l'APIpoints de terminaison dans l'application angulaire pour chaque environnement. c'est-à-dire que la version dev frappe dev.blah.com/get/user/1 et avec la même source les hits de staging.blah.com/get/user/1? Cela se produira-t-il automatiquement ou dois-je prendre des mesures spécifiques pour permettre cela?

Toutes ces choses sont-elles possibles? Je ne m'attends pas à un guide étape par étape mais à la recherche d'un aperçu du processus et d'une indication des ressources pour apprendre à le faire moi-même, mes recherches n'ayant pas abouti à beaucoup

Réponses:

4 pour la réponse № 1

Sur CloudFront, dans l’onglet "comportements" de votredistribution, vous pouvez assigner un chemin à chaque origine. Par exemple, vous pouvez spécifier que les demandes / * sont redirigées vers un compartiment S3 avec vos ressources statiques mais que / api / * est redirigé vers votre backend api.

En ce qui concerne les environnements dev / staging / prod, il s'agirait probablement de 3 distributions différentes également. Ils peuvent indiquer des origines identiques ou différentes.

Voir "Livraison de site complet avec CloudFront"