Vamos instalar um Nexus Repository Server?

Olá a todos.

Hoje vamos falar de um repositório de artefactos que me é muito proximo do coração: O Nexus Repository Manager.
O Nexus Repository Manager é um gestor de repositórios e artefatos popular que é muito usado para armazenar, gerir e distribuir artefatos binários e seus metadados correspondentes. Nesta post, iremos precorrer as etapas para instalar o Nexus Repository Manager num sistema Linux.

Porque necessito de um gestor de artefactos na minha empresa/homelab?
Simples,  para aumentar a produtividade das minhas tarefas de DevOps com integrações com as ferramentas de build & deliver mais populares. Consigo melhorar a velocidade na qual entrego aos clientes  código e reduzo em muito os tempos de construção porque tenho acesso ao meu código como se de blocos de lego se tratassem. Isto sem esquecer que para “uso interno” consigo fazer e testar  preparação de lançamentos e funcionalidades avançadas de build.  Como cereja no bolo melhoro a confiança no que faço com acesso rápido e repetível às dependências que o meu código possa ter.

PS: e faz um repositório do caraças para yum/dnf mesmo naqueles repositórios privados que só se acedem por chaves GPG 😉

Pré-requisitos:

– Um sistema Linux (por exemplo, RockyLinux ou SuSE Linux)
– Java Development Kit (JDK) 11 ou posterior e o java-1.8.0-openjdk  ou posterior, instalados no sistema

Passo 1: Descarreguem o Nexus Repository Manager

Passo 2: Instalem o Nexus Repository Manager.

  • Descomprimam o arquivo descarregado para um diretório de sua escolha (por exemplo, no meu caso, escolhi o /opt por estar segregado do filesystem do sistema operativo):
    $ sudo tar -xzvf nexus-<versão>-unix.tar.gz -C /opt/
  • Renomeiem o diretório extraído para “nexus”:
    $ sudo mv /opt/nexus-<versão> /opt/nexus

Etapa 3: configurarem o Nexus Repository Manager

  • Criem um utilizador e um grupo para o Nexus Repository Manager (muito importante por questões de segurança):
    $ sudo groupadd nexus
    $ sudo useradd -M -s /sbin/nologin -g nexus nexus
  • Alterem a propriedade e ownership do diretório Nexus Repository Manager para o utilizador e grupo nexus:
    $ sudo chown -R nexus:nexus /opt/nexus
  • Abram o arquivo de configuração do Nexus Repository Manager para edição:
    $ sudo vi /opt/nexus/bin/nexus.rc
  • – Descomentem a linha que define o parâmetro `run_as_user` e altere seu valor para “nexus”:
    run_as_user="nexus"

Passo 4: Inicie o Nexus Repository Manager

  • Iniciem o serviço Nexus Repository Manager (existe na pagina deles o link para o download de um script systemd. Contudo este é o metodo que estou a usar)
    $ sudo /opt/nexus/bin/nexus start
  • Aguarde o início do serviço (pode demorar alguns minutos). Dependendo onde estão a correr isto, podem monitorizar o progresso verificando o arquivo de log:
    $ sudo tail -f /opt/nexus/log/nexus.log
  • Uma vez iniciado o serviço, podem aceder a interface da web do Nexus Repository Manager abrindo um browser e navegando até: `http://<your-linux-host>:8081`

Etapa 5: configurar o Nexus Repository Manager

  • Na primeira vez que acederem a interface da web do Nexus Repository Manager, voces irão ser solicitados a configurar a conta de administrador e outras configurações.
  • Sigam as instruções no ecrã para configurar o Nexus Repository Manager de acordo com vossas necessidades.

É está feito! Agora você tem uma instância em execução do Nexus Repository Manager que pode ser usada para gerir e distribuir artefatos binários (ou ate se quiserem, repositórios de RPM ou DEB para as vossas plataformas se isso for uma coisa que vos agrade).

Espero que tenham gostado deste post, voltarei para a semana com novas ideias, e uma comparação entre o Nexus e o Artifactory (free vs pago) e ver como se comparam entre si.
Caso detetem qualquer coisa menos certa, já sabem onde me encontrar.

Abraço
Nuno

PS: Obrigado ao Telmo Gaspar por ter notado que havia feito copy/paste incompleto do URL de download.