Artifactory é um produto da JFrog que serve como um gerenciador de repositório binário . Dito isso, muitas vezes, usaremos um 'artefato' como sinônimo do repositório binário mais geral, assim como muitas pessoas usam Frigidaire ou geladeira para designar a geladeira, independentemente de ser ou não uma marca Frigidaire.
O repositório binário é uma extensão natural do repositório de código-fonte, na medida em que armazena o resultado do seu processo de construção, geralmente indicado como artefatos. Na maioria das vezes, não se usa o repositório binário diretamente, mas através de um gerenciador de pacotes que vem com a tecnologia escolhida.
Na maioria dos casos, eles armazenam componentes de aplicativos individuais que podem ser montados posteriormente em um produto completo - permitindo que uma compilação seja dividida em partes menores, utilizando recursos mais eficientemente, reduzindo os tempos de compilação, melhor rastreamento dos bancos de dados de depuração binários etc.
Aqui estão alguns dos gerenciadores de pacotes mais populares que podem ser gerenciados usando um repositório binário:
- Java: jar, ear, war etc tem o Maven e o MavenCentral oficial . Existem muitos outros gerenciadores de pacotes que também usarão o formato de repositório binário do maven ( ivy , gradle etc.).
- .Net: nuget para componentes .NET (DLL e EXE), mas também pode ser usado como mecanismo de distribuição em sistemas Windows como o Chocolatey . As versões mais recentes do Powershell também podem aproveitar isso para distribuir os módulos do PowerShell, embora a galeria do PowerShell possa construir uma distribuição local com um repositório binário e um repositório no formato nuget. Verifique também o OneGet se o gerenciamento de distribuição do Windows é do seu interesse.
- Em JavaScript: temos o npm, que é um dos mais populares, exigirá o nodejs .
- Em python: existe pip e o pacote oficial index pypi , que também pode ser criado uma instância local através do repositório binário que suportará o formato.
Esta lista está longe de ser completa, apenas fornece uma idéia do que está lá fora.
O repositório binário pode permitir hospedar tudo isso sob o mesmo teto, tornando seu gerenciamento muito mais simples para as equipes. Observe que você não precisa de uma equipe muito grande para começar a colher os benefícios do gerenciamento de pacotes binários. O investimento inicial não é muito grande e os benefícios são sentidos imediatamente. Especialmente agora que mais e mais plataformas, estruturas e linguagens estão integrando esse gerenciamento de dependência diretamente a elas. A maior vantagem que encontrei, no entanto, foi criar um ambiente que seus programadores acharão natural e confortável, tornando-o essencial. Ele ajuda você, como desenvolvedor, a criar uma sólida cadeia de ferramentas e ajuda a fazer com que a experiência geral se encaixe naturalmente em sua pilha de opções.
Como eu disse anteriormente, existem muitos produtos por aí que podem servir como gerenciadores de pacotes binários, alguns mais genéricos que outros em seu uso-alvo, variando também amplamente em termos de acessibilidade e preços.
Minha opinião pessoal é que os repositórios binários são parte tão vital de uma configuração de devops bem projetada quanto o repositório de código-fonte ou a integração contínua.