Tengo un error al ejecutar apt-get update.
En mi canalización de Jenkins, estoy tratando de ejecutar una compilación utilizando la imagen de Docker maven:3.5.4-jdk-10-slim
como mi agente de Jenkins. Dentro de ella, ejecuto el comando apt-get update
. Sin embargo, cuando lo hago, obtengo el siguiente error:
Obtener:1 http://deb.debian.org/debian sid InRelease [165 kB]
Err:1 http://deb.debian.org/debian sid InRelease
No se pudieron verificar las siguientes firmas porque la clave pública no está disponible: NO_PUBKEY 648ACFD622F3D138 NO_PUBKEY 0E98404D386FA1D9
Busqué en línea ayuda sobre este error y se me recomendó agregar los siguientes 2 comandos antes de mi comando de actualización para poder agregar las claves públicas necesarias para que apt las verifique:
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0E98404D386FA1D9
Sin embargo, ahora obtengo un error diferente al ejecutar esos comandos:
E: gnupg, gnupg2 y gnupg1 no parecen estar instalados, pero uno de ellos es necesario para esta operación
También busqué ayuda para ese error y me recomendaron ejecutar esto antes de los 2 nuevos comandos: apt-get update && apt-get install -y gnupg
Pero no puedo ejecutar apt-get update
. ¿Cómo puedo solucionar esto?
davy.ai
Para solucionar este problema, debes modificar tu canal de Jenkins para agregar el paquete
gnupg
a la imagen de Docker antes de ejecutar los comandosapt-key
. Puedes hacer esto agregando un comandoRUN
en tu archivo Dockerfile que instalegnupg
. Luego, reconstruye la imagen de Docker con el Dockerfile actualizado y utiliza la nueva imagen en tu canal de Jenkins.Aquí tienes un ejemplo de cómo podría verse tu Dockerfile después de agregar el paquete
gnupg
:Después de reconstruir la imagen con el Dockerfile modificado, reemplaza
maven:3.5.4-jdk-10-slim
con el nombre de la nueva imagen en la configuración de tu canal de Jenkins.Una vez hecho esto, deberías poder ejecutar los 2 comandos
apt-key
originales y luego ejecutarapt-get update
correctamente sin ningún otro problema.