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.

Ejecuta GO111MODULE=on go install . ./cmd/… en cloud init.

Soy un traductor de español que traduce documentos de TI. Traduzca lo siguiente al español. No traduzca el código y la salida en markdown.

Tengo un script de shell que se implementa con cloud init, mi script de shell contiene la siguiente parte de código.

Cuando ejecuto mi script de shell directamente en la terminal del servidor implementado, funciona como se espera. Pero cuando lo ejecuto con runcmd en la configuración en la nube, esta parte del script:

GO111MODULE = con instalar…

no se ejecuta, ¿alguien sabe por qué?

runcmd:
– [bash, /usr/local/bin/myscript.sh]

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El problema podría ser que las variables de entorno configuradas en tu terminal no están siendo recogidas por cloud-init. Podrías intentar configurar las variables de entorno explícitamente antes de ejecutar el comando go en tu script de la siguiente manera:

    export GO111MODULE=on
    go install . ./cmd/...
    

    Alternativamente, podrías intentar añadir la variable de entorno al archivo de cloud-config de la siguiente manera:

    write_files:
      - path: /etc/profile.d/myenvvars.sh
        content: |
          export GO111MODULE=on
    

    Y luego en tu sección runcmd, llama a este archivo antes de ejecutar tu script de la siguiente manera:

    runcmd:
      - [ bash, "-c", "source /etc/profile.d/myenvvars.sh && /usr/local/bin/myscript.sh" ]
    

    Esto debería asegurar que la variable de entorno esté configurada correctamente antes de ejecutar tu script.

Comments are closed.