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.

“keytar.node está causando problemas en el pipeline de Buildkite.”

Estoy intentando crear un pipeline CI/CD utilizando Buildkite donde los pasos de construcción se ejecutan en una Máquina Virtual (Ubuntu). Sin embargo, un paquete npm llamado keytar, que es una dependencia de la biblioteca tedious, está causando problemas en el pipeline.

Cuando se ejecuta uno de los pasos utilizando buildkite-agent, intenta limpiar un repositorio existente. Y durante el comando git clean -fxdq, no puede eliminar el archivo keytar.node debido a un error de Permiso denegado.

Aquí está el registro completo del paso:

> Ejecutando el gancho de entorno global
> Configuración de complementos
> Preparando el directorio de trabajo
$ cd /var/lib/buildkite-agent/builds/build-server-1/someorg/some-repo

Host "bitbucket.org" ya está en la lista de hosts conocidos en "/var/lib/buildkite-agent/.ssh/known_hosts"

$ git remote set-url origin git@bitbucket.org:someorg/some-repo.git
$ git clean -fxdq
advertencia: no se pudo eliminar node_modules/keytar/build/Release/keytar.node: Permiso denegado

Eliminando /var/lib/buildkite-agent/builds/build-server-1/someorg/some-repo

⚠️ Advertencia: ¡Fallo en la comprobación! Error al ejecutar /usr/bin/git clean -fxdq: estado de salida 1 (Intento 1/3. Reintentando en 2s)

Host "bitbucket.org" ya está en la lista de hosts conocidos en "/var/lib/buildkite-agent/.ssh/known_hosts"

$ git clone -v -- git@bitbucket.org:someorg/some-repo.git .
fatal: el camino de destino '.' ya existe y no es un directorio vacío.

Eliminando /var/lib/buildkite-agent/builds/build-server-1/someorg/some-repo

⚠️ Advertencia: ¡Fallo en la comprobación! Error al ejecutar /usr/bin/git clone -v -- git@bitbucket.org:someorg/some-repo.git .: estado de salida 128 (Intento 2/3. Reintentando en 2s)

Host "bitbucket.org" ya está en la lista de hosts conocidos en "/var/lib/buildkite-agent/.ssh/known_hosts"

$ git clone -v -- git@bitbucket.org:someorg/some-repo.git .
fatal: el camino de destino '.' ya existe y no es un directorio vacío.

Eliminando /var/lib/buildkite-agent/builds/build-server-1/someorg/some-repo

⚠️ Advertencia: ¡Fallo en la comprobación! Error al ejecutar /usr/bin/git clone -v -- git@bitbucket.org:someorg/some-repo.git .: estado de salida 128 (Intento 3/3. Reintentando en 2s)

Saltando la carga de artefactos, sin comprobación

&##128680; Error: Error al ejecutar /usr/bin/git clone -v -- git@bitbucket.org:someorg/some-repo.git .: estado de salida 128

Al examinar los permisos en la carpeta /some-repo utilizando el comando ls -l, los permisos parecen ser drwxr-xr-x y el propietario es buildkite-agent. Estoy perplejo de cómo este archivo no se elimina mientras que todos los demás archivos se eliminan sin ningún problema.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema está relacionado con el archivo keytar.node, que es una dependencia de la biblioteca tedious. Parece que el comando git clean -fxdq no puede eliminar este archivo debido a un error de Permiso denegado. Es posible que el usuario buildkite-agent no tenga los permisos necesarios para eliminar este archivo. Es posible que necesite ajustar los permisos del archivo keytar.node o la carpeta /some-repo para permitir que el usuario buildkite-agent elimine el archivo.

Comments are closed.