es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Github actions despliega la aplicación de Django en Elastic Beanstalk.

Estoy intentando simplemente implementar mi aplicación de Django en Elastic Beanstalk utilizando acciones de GitHub, pero sigo obteniendo este error:

Advertencia: La actualización del entorno finalizó, pero la salud es Roja y el estado de salud es Degradado. Se le otorgan 30 segundos para recuperarse…
Advertencia: El entorno todavía tiene salud: Roja y el estado de salud es Degradado. Esperando 19 segundos más antes de fallar…
Advertencia: El entorno todavía tiene salud: Roja y el estado de salud es Degradado. Esperando 8 segundos más antes de fallar…
Error: ¡Error en la implementación: Error: El entorno todavía tiene salud Roja 30 segundos después de que finalizó la actualización!

El código que estoy utilizando es el siguiente:

name: Implementación en AWS
on:
  push:
    branches:
      - test-main-branch

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Verificar código fuente
        uses: actions/checkout@v2

      - name: Generar paquete de implementación
        run: zip -r deploy.zip . -x '*.git*'

      - name: Obtener marca de tiempo
        uses: gerred/actions/current-time@master
        id: current-time

      - name: Ejecutar reemplazo de cadena
        uses: frabert/replace-string-action@master
        id: format-time
        with:
          pattern: '[:\.]+'
          string: "${{ steps.current-time.outputs.time }}"
          replace-with: "-"
          flags: "g"

      - name: Implementar en EB
        uses: einaregilsson/beanstalk-deploy@v20
        with:
          aws_access_key: ${{ secrets.AWS_ACCESS_KEY_ID }}
          aws_secret_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
          application_name: project-pit
          environment_name: project-pit-cloud
          version_label: 12345
          region: ap-southeast-2
          deployment_package: deploy.zip

      - name: ¡Implementado!
        run: echo "Aplicación implementada"

La aplicación aparece en mi bucket de S3, pero aún obtengo una salud degradada en Elastic Beanstalk.

También debo mencionar que mi bucket de S3 tiene más de un nivel, bucket/project-pit.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que hay problemas con el proceso de implementación en Elastic Beanstalk. El mensaje de error indica que el entorno tiene una salud: Rojo y un estado de salud: Degradado incluso después de que la actualización haya finalizado. Esto podría ser causado por varios factores, como configuraciones incorrectas, recursos insuficientes o problemas de código.

    En primer lugar, es importante verificar los registros de Elastic Beanstalk para identificar la causa raíz del problema. Esto proporcionará información más detallada sobre lo que está saliendo mal y puede ayudar a resolver el problema. Los registros se pueden acceder a través de la consola de Elastic Beanstalk o mediante el uso de EB CLI.

    Además, vale la pena confirmar que el bucket de S3 está correctamente configurado y accesible por Elastic Beanstalk. También se recomienda asegurarse de que el version_label especificado en el proceso de implementación sea único para cada implementación, ya que esto puede causar problemas con la salud del entorno.

    Si el problema persiste, puede valer la pena considerar otros métodos de implementación, como el uso de AWS CodeDeploy o la implementación manual de la aplicación en Elastic Beanstalk.

Comments are closed.