Migrando paquetes NPM a Azure DevOps Artifacts

Hola a todos, como están. Feliz de retomar este espacio,  compartir conocimiento será siempre una buena acción altruista.

En esta ocasión estoy trabajando en una integración nodejs con unas librerías propias del proveedor.

El proveedor utiliza jfrog como gestor de paquetes, el cual usa una seria de credenciales para poder descargar dichos paquetes.

El problema es que a nuestros clientes teníamos que sumistrarle dicha configuración para que tuvieran acceso a los paquetes, por lo cual no es la mejor forma.

Cual es la mejor forma de resolver esta problemática?. La mejor forma es importar el paquete npm a nuestro gestor de paquetes privado, seria algo así, en vez de utilizar el paquete de jfrog utilizar el mismo paquete en nuestro gestor, que seria Azure DevOps Artifacts.

En jfrog puedes descargar el paquete que necesitas en formato tgz. Para el ejemplo voy a migrar este paquete “tfjs-backend-cpu-2.8.5.tgz”

La prueba la realizare en un Azure DevOps Artifacs vacío.

image

En esta ocasión utilizaremos PowerShell, para subir el paquete. La estructura del script seria así.

npm config set registry https://{feedname}:{personalaccesstoken(PAT)}@pkgs.dev.azure.com/{Organizaiton name}/{Project name}/_packaging/{feed name}/npm/registry

Me situó en la raíz de la carpeta donde esta mi archivo y ejecuto el comando.

image

Despues ejecuto el siguiente comando.

Get-ChildItem *.tgz | ForEach-Object { npm publish $_ }

image

Revisamos y ya encontramos el paquete.

image

Al finalizar es importe eliminar el registry del npm, dado que podria tener inconvenientes. para lo cual hacemos un npm config edit.

Espero les sirva este tip,

Sl2

Romny