Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

162
Visualizações
Automatice la implementación de archivos de sitios web estáticos en S3 después de la compilación

Tengo una aplicación de reacción (SPA) que se implementa en S3 y es de acceso público. Después de cada compilación, tengo que cargar manualmente index.html y otros activos estáticos en S3. ¿Hay alguna forma de automatizar este proceso?

Hice una búsqueda exhaustiva en CD (implementación continua) a S3 , aquí hay una pregunta SO sobre lo mismo.

Estoy agregando toda la información de mi investigación exhaustiva. He escrito la siguiente respuesta, que contiene varios métodos para lograr esto.

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Hay muchas formas de automatizar la implementación de S3 . Aquí están las cosas que recopilé:

1. AWS SNS y Lambda:

Este proceso es útil si desea activar cualquier servicio de AWS en github push. Entonces, este es el proceso:

  1. El impulso de github activa un mensaje a SNS.
  2. Se invoca el Lambda que está suscrito al tema de SNS.
  3. Dentro de Lambda, clono el repositorio de github.
  4. Utilice el SDK de S3 de AWS para cargar el directorio de compilación o distribución en su depósito de S3. Aquí hay una arquitectura de alto nivel del proceso anterior:

Automatización mediante SNS y Lambda

La desventaja de este enfoque es que la clonación de repositorios grandes lleva tiempo y las Lambdas se facturan por segundo. Por lo tanto, esto puede volverse costoso para grandes repos.

2. Travis:

Travis es conocido por su biblioteca CI (integración continua). Un .travis.yml es esencial para el proceso de integración.

Si desea realizar algunas pruebas después de la compilación y luego con éxito, cargue los archivos en S3. Entonces este enfoque será la mejor manera. Travis es gratuito para proyectos de código abierto.

La desventaja es que no pude encontrar una manera de aislar un directorio del repositorio y cargar solo ese directorio específico.

3. CLI de AWS:

Esta es la forma más económica y mejor de cargar los archivos en S3. Utilicé este enfoque. Obtuve esta información de esta publicación mediana .

Por lo general, en las aplicaciones de reacción, los scripts de compilación son activados por npm o yarn escritos como scripts en el paquete.json . Aquí está el comando para cargar los archivos a S3:

aws s3 sync build/ s3://<bucket-name>

Agregué este script como parte de los scripts de compilación en package.json. Esto fue muy útil y, por lo tanto, automatizó el proceso manual de cargar los archivos en S3.

Esta respuesta se basa en mi perspectiva. Si algo es incorrecto o si me perdí algo, no dude en comentarlo y lo agregaré a la respuesta.

over 4 years ago · Santiago Trujillo Relatório

0

Me encanta la respuesta de @lakshman , pero no funcionará para repositorios de bitbucket privados/locales y algunos otros escenarios con los que nos encontramos en el mundo comercial.

Una idea similar que es compatible con bitbucket (y más) es clonar el código en CodeCommit y luego activar un CodePipeline que incluye un paso de CodeBuild.

CodeBuild puede empujar a S3. Como beneficio adicional, CodeBuild puede ejecutar pruebas e incluir pasos de compilación adicionales según sea necesario (migraciones, etc.). Bitbucket tiene un enlace espejo que permite a CodeCommit clonar repositorios de Bitbucket. Creo que este es el enlace del gancho del espejo, pero verifíquelo dos veces, ya que hay varios complementos/extensiones de Bitbucket, incluido el espejo de cadena en el nombre.

Esta pregunta SO analiza un gancho de Bitbucket diferente y también analiza la clonación de GitLab y JGit. Nuevamente, una vez que el código está en CodeCommit, CodePipeline puede tomarlo desde allí.

En lugar de usar un enlace de Bitbucket, también puede usar una canalización de Bitbucket .

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda