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.

Configuración de pipeline CI/CD en Gitlab (Windows, yml)

Estoy tratando de configurar un pipeline CI/CD para mi aplicación de Electron en GitLab. El gitlab-runner fue configurado en una máquina con Windows y está actualmente en línea. En el repositorio de código, el archivo yml está ubicado en la carpeta raíz. El pipeline comienza y hay una conexión entre el gitlab-runner y GitLab.

Estoy enfrentando un problema al encontrar npm. Aunque nodejs y npm están instalados en C:\Program Files\nodejs, aún así estoy obteniendo un error en el ejecutor de shell.

.gitlab-ci.yml

stages:
  - build

build:
  stage: build
  tags:
    - BuildServerTag
  before_script:
    - SET PATH=$c/PROGRA~1/nodejs/
  script:
    - echo "Hola Mundo"
    - npm -v

Error:
npm: El término ‘npm’ no se reconoce como el nombre de un comando, función, archivo de script o programa operable. Verifica la ortografía del nombre o, si se incluyó una ruta, verifica que la ruta sea correcta e inténtalo nuevamente.

He intentado lo siguiente:
1. Configurar C:\Program Files\nodejs como una variable de entorno del sistema en el runner.
2. Usar SET Path en el archivo yml.
3. Usar la ruta completa de npm en el archivo yml.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Solución para el error “npm not found” en gitlab-runner

    Si te encuentras con un problema al no encontrar npm al configurar un pipeline de CI/CD para tu aplicación de electron en gitlab, hay algunas cosas que puedes intentar:

    1. Asegúrate de que node.js y npm estén instalados en el sistema del runner y estén agregados a la ruta del sistema.

    Si ya has instalado node.js y npm en el sistema del runner, asegúrate de que estén agregados a la ruta del sistema. Para comprobar si esto ya se ha hecho, abre una ventana de comando y escribe ‘npm -v’. Si retorna el número de versión, significa que npm ya está agregado a la ruta del sistema.

    Si npm no está agregado a la ruta del sistema, puedes agregarlo siguiendo estos pasos:

    • Abre Panel de control -> Sistema y seguridad -> Sistema -> Configuración avanzada del sistema -> Variables de entorno.
    • Bajo ‘Variables del sistema’, desplázate hacia abajo y busca la variable ‘Path’. Haz clic en ‘Editar’.
    • Agrega la siguiente ruta a la lista: C:\Program Files\nodejs
    • Haz clic en ‘Aceptar’ en todas las ventanas para guardar los cambios.
    1. Utiliza la sintaxis correcta en el archivo .gitlab-ci.yml.

    Asegúrate de utilizar la sintaxis correcta en el archivo .gitlab-ci.yml. En tu caso, puedes intentar utilizar la siguiente sintaxis:

    stages:
      - build
    
    build:
      stage: build
      tags:
        - BuildServerTag
      before_script:
        - SET PATH=c:\PROGRA~1\nodejs\
      script:
        - echo "Hola Mundo"
        - npm -v
    

    En esta sintaxis, nota que la ruta a nodejs se ha modificado para utilizar una barra diagonal hacia adelante en lugar de una barra diagonal hacia atrás.

    1. Utiliza la ruta completa de npm en el archivo .gitlab-ci.yml.

    Si las soluciones anteriores no funcionan, puedes intentar utilizar la ruta completa de npm en el archivo .gitlab-ci.yml. La ruta a npm típicamente es C:\Program Files\nodejs\npm.cmd.

    stages:
      - build
    
    build:
      stage: build
      tags:
        - BuildServerTag
      before_script:
        - SET PATH=c:\PROGRA~1\nodejs\
      script:
        - echo "Hola Mundo"
        - C:\Program Files\nodejs\npm.cmd -v
    

    Utilizar la ruta completa de npm debería resolver el problema.

    ¡Espero que esto ayude! Avísame si tienes alguna pregunta adicional.

Comments are closed.