1
votes

Héberger une application React dans AWS S3 sans aucun backend

J'essaie d'héberger une vue, j'ai construit l'application en utilisant l'application create react, donc je n'ai pas de back-end pour l'application. Je ne fais que consommer les services.

J'ai une bonne idée d'utiliser Node et React avec Docker, d'exposer un seul port et de servir le fichier html via Node.js.

Mais dans cet exemple d'application, je ne fais que consommer les services et rendre l'interface utilisateur.

Pour cet exemple d'interface utilisateur, devons-nous utiliser Docker, j'ai lu quelques documents et découvert qu'il était préférable d'héberger ce fichier html unique en s3, car AWS S3 est conçu pour la récupération et l'hébergement de fichiers.

Alors, comment puis-je créer l'application et comment héberger cette application?


0 commentaires

3 Réponses :


2
votes

Si vous souhaitez héberger cette application de réaction sur AWS S3, vous pouvez compiler le code en utilisant npm run build ou yarn build Construire une version de production . Il devrait créer un dossier de construction avec tous les fichiers prêts pour la production. Vous devez ensuite télécharger ces fichiers dans le compartiment S3, que vous souhaitez héberger votre site Web. Après ce site Web devrait être disponible à l'URL associée au compartiment S3

Voici la documentation pour site Web statique d'hébergement S3


0 commentaires

1
votes

Je vous suggère de jeter un œil à Firebase ( https://firebase.google.com/docs/ hébergement ). Firebase est très facile à configurer avec votre application react.

Une fois la configuration terminée, vous exécutez npm run-script build pour compiler pour la production, puis effectuez firebase deploy et vous avez terminé!

P.S: Firebase fonctionne également bien avec les backends node.js si vous en aviez un.


0 commentaires

2
votes

Pour créer l'application, exécutez la commande npm run build , cela sera préconfiguré si vous utilisez create-react-app pour la configuration de votre application.

Pour le déploiement, accédez à votre console AWS,

  1. Créer un nouveau bucket
  2. Téléchargez le contenu de votre dossier de construction généré à la racine du nouveau bucket.
  3. Dans les propriétés de votre bucket, il y aurait une option pour configurer l'hébergement de site Web statique, sélectionnez-le.
  4. Assurez-vous que les autorisations de votre compartiment et de vos fichiers sont correctes et accessibles

Je suggérerais d'utiliser cloudfront en plus du bucket s3.

Lisez ce blog pour plus de détails ,


4 commentaires

un doute, donc dans l'article, chaque fois que nous construisons et faisons la synchronisation, y a-t-il un moyen de le faire en utilisant Dockerfile, alors il suffit de faire travailler jenkins pour frapper le Dockerfile et il fera automatiquement toute idée à ce sujet, donc ce que j'essaie de réaliser, c'est qu'il y aura essentiellement un travail jenkins, où je mentionnerai le repo et la branche sur la configuration de jenkins et déclenchera la construction, qui frappera la branche et prendra le repo et trouverai le Dockerfile et le construirai. Donc, à l'intérieur de Dockerfile, je vais faire la compilation d'exécution de npm et la synchronisation avec s3


Donc, pour la première fois, je dois télécharger le fichier à partir de la deuxième fois, il n'y aura pas de téléchargement, juste une synchronisation, c'est possible


Soit vous devrez configurer CI / CD, soit vous pouvez directement pousser le dossier de construction en utilisant aws cli. Si vous cherchez à l'automatiser, voici un blog auquel vous pouvez vous référer, blog.dakshgautam.com/travis < / a>


mais l'article est lié à l'utilisation de travis, y a-t-il un article lié aux jenkins