Instalando Nexus
Instalar OpenJDK 1.8 e Nexus Repository Manager no Ubuntu 20.04 LTS
Neste artigo, vamos abordar os seguintes tópicos:
- Como instalar o OpenJDK 1.8 no Ubuntu 20.04 LTS
- Como baixar e configurar o Nexus Repository Manager no Ubuntu 20.04 LTS
- Como instalar o Nexus Repository no Ubuntu 20.04 LTS
- Como rodar o Nexus como um serviço utilizando o Systemd
- Como acessar a interface web do Nexus Repository
O que é Artifactory no DevOps?
O Artifactory é um gerenciador de repositórios utilizado no DevOps para armazenar, gerenciar e recuperar artefatos. Artefatos são arquivos binários gerados durante o processo de construção de software, como arquivos JAR, WAR, imagens Docker e outras dependências ou pacotes de código. O Artifactory oferece suporte à gestão desses artefatos durante todo o ciclo de vida do desenvolvimento de software, proporcionando um local centralizado para armazená-los e compartilhá-los.
O que é o Nexus Repository Manager?
O Nexus Repository Manager é uma ferramenta de gerenciamento de repositórios desenvolvida pela Sonatype. Ele foi projetado para gerenciar e armazenar componentes de software, binários e artefatos utilizados nos processos de desenvolvimento e implantação. Ele oferece uma plataforma centralizada para gerenciar esses artefatos, facilitando o controle e a distribuição de componentes de software ao longo das diferentes fases do ciclo de vida do desenvolvimento.
Por exemplo, o “Maven Central Repository” pode ser utilizado para recuperar todas as dependências necessárias para uma construção Maven.
Requisitos
- OpenJDK 8
- CPU: 4 núcleos no mínimo
- Servidor Ubuntu com privilégios de usuário sudo
- Definir limites de usuário
- Navegador web
- Porta de firewall/entrada: 22, 8081
Você pode consultar a página oficial do Nexus Artifactory para mais informações sobre os requisitos do sistema para o Nexus.
Atualizar pacotes do sistema
sudo apt-get update
1. Instalar OpenJDK 1.8 no Ubuntu 20.04 LTS
sudo apt install openjdk-8-jre-headless
2. Baixar o Nexus Repository Manager no Ubuntu 20.04 LTS
Baixe a versão mais recente do Nexus Repository Manager no site oficial da Sonatype.
cd /opt
sudo wget https://download.sonatype.com/nexus/3/latest-unix.tar.gz
3. Instalar o Nexus Repository no Ubuntu 20.04 LTS
Extraia o pacote do Nexus no diretório /opt
:
tar -zxvf latest-unix.tar.gz
# Renomeie a pasta extraída para "nexus":
sudo mv /opt/nexus-3.30.1-01 /opt/nexus
# Como prática de segurança, não é recomendado executar o serviço Nexus como o usuário root. Então, crie um novo usuário chamado "nexus" para executar o serviço:
sudo adduser nexus
Para definir uma senha em branco para o usuário nexus, edite o arquivo visudo
:
sudo visudo
Adicione a seguinte linha e depois salve e saia:
nexus ALL=(ALL) NOPASSWD: ALL
Dê permissões aos arquivos e diretórios do Nexus para o usuário “nexus”:
sudo chown -R nexus:nexus /opt/nexus
sudo chown -R nexus:nexus /opt/sonatype-work
Para garantir que o Nexus inicie automaticamente como um serviço no boot, abra o arquivo /opt/nexus/bin/nexus.rc
, descomente a linha e adicione o usuário “nexus”, como mostrado abaixo:
sudo nano /opt/nexus/bin/nexus.rc
run_as_user="nexus"
Para aumentar o tamanho do heap do JVM do Nexus, edite o arquivo /opt/nexus/bin/nexus.vmoptions
e modifique o tamanho conforme necessário:
-Xms1024m
-Xmx1024m
-XX:MaxDirectMemorySize=1024m
-XX:LogFile=./sonatype-work/nexus3/log/jvm.log
-XX:-OmitStackTraceInFastThrow
-Djava.net.preferIPv4Stack=true
-Dkaraf.home=.
-Dkaraf.base=.
-Dkaraf.etc=etc/karaf
-Djava.util.logging.config.file=/etc/karaf/java.util.logging.properties
-Dkaraf.data=./sonatype-work/nexus3
-Dkaraf.log=./sonatype-work/nexus3/log
-Djava.io.tmpdir=./sonatype-work/nexus3/tmp
4. Rodar o Nexus como um serviço usando Systemd
Para rodar o Nexus como um serviço usando o Systemd, crie um arquivo de serviço em /etc/systemd/system/nexus.service
com o seguinte conteúdo:
sudo nano /etc/systemd/system/nexus.service
Adicione o seguinte conteúdo:
[Unit]
Description=Nexus Service
After=network.target
[Service]
Type=forking
LimitNOFILE=65536
ExecStart=/opt/nexus/bin/nexus start
ExecStop=/opt/nexus/bin/nexus stop
User=nexus
Restart=on-abort
[Install]
WantedBy=multi-user.target
Agora você precisa inicializar o serviço e verificar o status dele.
sudo systemctl daemon-reload
sudo systemctl start nexus
sudo systemctl enable nexus
sudo systemctl status nexus
Se o serviço do Nexus não iniciar, você pode verificar os logs do Nexus com o seguinte comando:
tail -f /opt/sonatype-work/nexus3/log/nexus.log
Agora, acesse o Nexus em:
http://:8081
5. Acessar a interface web do Nexus Repository
Para acessar a interface web do Nexus, abra seu navegador favorito e insira o seguinte endereço:
Se você estiver utilizando o firewall UFW no Ubuntu, libere a porta 8081 com o comando:
sudo ufw allow 8081/tcp
Você verá a página padrão do Nexus. Para fazer login, clique em Sign In. O nome de usuário padrão é admin
.
Para encontrar a senha padrão, execute o comando abaixo:
Copie a senha padrão, faça o login e, ao acessar a interface, você poderá redefinir a senha conforme necessário.