“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.
davy.ai
Parece que el problema está relacionado con el archivo
keytar.node
, que es una dependencia de la bibliotecatedious
. Parece que el comandogit clean -fxdq
no puede eliminar este archivo debido a un error dePermiso denegado
. Es posible que el usuariobuildkite-agent
no tenga los permisos necesarios para eliminar este archivo. Es posible que necesite ajustar los permisos del archivokeytar.node
o la carpeta/some-repo
para permitir que el usuariobuildkite-agent
elimine el archivo.