-
Notifications
You must be signed in to change notification settings - Fork 1
Nexus
O Nexus é uma plataforma para gerenciamento de binários, artefatos, builds e etc. O Nexus é utilizado para armazenar a imagem docker que foi criada através da Pipeline. Ele pode ser utilizado como gerenciador de pacotes (mvn ,npm, helm, docker, etc.). Funciona como proxy de repositório - cache local, Exemplo, se você instalar um pacote, ele irá ver se no cache local já tem o pacote instalado, sem a necessidade de baixar da internet. Pode ser utilizado como registry docker, ou seja, uma espécie de armazenador de imagens docker gerada.
Criar volume docker
$ docker volume create –name nexus-data
Build do container
$ docker run -d -p 8091:8081 -p 8123:8123 --name nexus -v nexus-data:/nexus-data sonatype/nexus3
- Olhar mais detalhes sobre o container sonatype/nexus 3 na documentação do docker hub
Abrir um terminal no container
$ docker exec -it nexus bash
Pegar a senha admin do nexus
$ cat /nexus-data/admin.password
No Nexus, devemos criar um usuário, posteriormente criar um repositório do tipo docker(hosted), habilitar a opção HTTP e Online, no HTTP setar a porta 8123. Na máquina do jenkins, vamos até o diretório no qual encontram-se os jobs do Jenkins /var/lib/jenkins/workspace/ copiar a pasta redis-app e mandar para /root
Depois fazemos o build do container redis
$ docker build -t devops/app .
Logar no nexus através do docker, utilizar a autenticação criada no Nexus
$ docker login localhost:8123
Poderia utilizar inserindo os dados porém não é recomendado, pois a senha fica no history
$ docker login -u jenkins -p devops localhost:8123
Taguear para o repositório remoto
$ docker tag devops/app:latest localhost:8123/devops/app
Subir para o nexus
$ docker push localhost:8123/devops/app
Gerenciar Jenkins >> Configuração Global Criar a variável de ambiente NEXUS_URL, passar o valor para localhost:8123
Gerenciar Jenkins >> Manage credentials >> criar nova credencial >> jenkins >> global credentials >> add credentials >> user with password
Feito isso temos o processo de CI totalmente completo
Visitas