Artifactory es un producto de JFrog que sirve como administrador de repositorios binarios . Dicho esto, muy a menudo se usará un 'artefacto' como sinónimo del repositorio binario más general, al igual que muchas personas usan Frigidaire o refrigerador para denotar el refrigerador, independientemente de si es una marca Frigidaire o no.
El repositorio binario es una extensión natural del repositorio de código fuente, ya que almacenará el resultado de su proceso de compilación, a menudo denotado como artefactos. La mayoría de las veces uno no usaría el repositorio binario directamente sino a través de un administrador de paquetes que viene con la tecnología elegida.
En la mayoría de los casos, estos almacenarán componentes de aplicaciones individuales que luego se pueden ensamblar en un producto completo, lo que permite dividir una compilación en fragmentos más pequeños, hacer un uso más eficiente de los recursos, reducir los tiempos de compilación, un mejor seguimiento de las bases de datos de depuración binarias, etc.
Estos son algunos de los gestores de paquetes más populares que se pueden gestionar utilizando un repositorio binario:
- Java: jar, ear, war, etc. tiene Maven y el MavenCentral oficial . Hay muchos otros gestores de paquetes que también utilizarán el formato de repositorio binario maven ( hiedra , gradle , etc.).
- .Net: nuget para componentes .NET (DLL y EXE), pero también se puede usar como mecanismo de distribución en sistemas Windows como Chocolatey . Las versiones más recientes de Powershell también pueden aprovechar esto para distribuir módulos de PowerShell a través de la galería de PowerShell de la cual se podría construir una distribución local con un repositorio binario y un repositorio en formato nuget. También verifique OneGet si la administración de distribución de Windows le interesa.
- En JavaScript: tenemos npm, que es uno de los más populares, requerirá nodejs .
- En python: hay pip y el paquete oficial index pypi , que también se puede crear una instancia local a través del repositorio binario que admitirá el formato.
Esta lista está lejos de ser completa, solo da una idea de lo que hay ahí fuera.
El repositorio binario puede permitir alojar todo esto bajo un mismo techo, haciendo que su administración sea mucho más simple para los equipos. Tenga en cuenta que no necesita un equipo muy grande para comenzar a cosechar los beneficios de la administración de paquetes binarios. La inversión inicial no es muy grande y los beneficios se sienten de inmediato. Especialmente ahora que cada vez más plataformas, marcos e idiomas están integrando esta gestión de dependencia directamente en ellos. Sin embargo, su mayor ventaja que encontré fue crear un entorno que sus programadores encontrarán natural y cómodo, haciéndolo esencial. Como devops, les ayuda a crear una cadena de herramientas sólida y les ayuda a que la experiencia general se ajuste naturalmente a su pila de opciones.
Como dije anteriormente, existen muchos productos que pueden servir como administradores de paquetes binarios, algunos más genéricos que otros en su uso objetivo, que también varían ampliamente en su accesibilidad y precios.
Mi opinión personal es que los repositorios binarios son una parte tan vital de una configuración devops bien diseñada como el repositorio de código fuente o la integración continua.