侧边栏壁纸
  • 累计撰写 89 篇文章
  • 累计创建 17 个标签
  • 累计收到 23 条评论

目 录CONTENT

文章目录

Nexus安装:Linux中安装Maven私库中心nexus

Administrator
2024-01-09 / 0 评论 / 0 点赞 / 22 阅读 / 0 字

下面介绍一下企业中经常使用的Maven私有公共仓库的搭建方法。该实例依赖的环境搭建过程,请参考:

搭建环境

Linux ubuntu1804:参见随意的蜗牛:Window安装Linux子系统

docker:参见随意的蜗牛:在Linux系统中安装docker

1、增加docker拉取的镜像源配置文件并填入内容

我的环境很慢,估计是国外的源太慢,所以增加了国内的源,如果搭建网速够快,可以不用改,忽略这一步。

进入linux系统终端

vi /etc/docker/daemon.json
内容如下:
{
    "registry-mirrors":["http://hub-mirror.c.163.com","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn"]
}

2、安装docker-compose

sudo apt update
sudo apt install docker-compose

3、配置docker-compose以启动nexus容器

  • 查看是否有/data目录,如果没有执行脚本

sudo mkdir /data
  • 建一个放置docker-compose配置文件的目录。我用的是/usr/nexus

sudo mkdir /usr/nexus
  • 增加docker-compose.yml文件并填入内容

sudo vi /usr/nexus/ docker-compose.yml
内容如下:
version: "3.3"
services:
  nexus:
    image: sonatype/nexus3
    container_name: nexus3
    restart: always
    user: root
    privileged: true
    environment:
      - TZ=Asia/Shanghai
    ports:
      - 8081:8081
    volumes:
      - ./data:/nexus-data

其中各项配置说明:

docker 镜像 :image (sonatype/nexus3)

docker容器名:container_name (nexus3)。

端口映射:ports (8081:8081)

挂载卷:volumes(本地 ./data 到容器 /nexus-data)

docker容器用户名:user(root)

授权docker:privileged(true)

4、运行docker-compose启动sonatype nexus容器

sudo docker-compose up -d

查看docker容器

sudo docker ps

5、登录nexus的应用页面

访问nexus:http://gitlab.rz.com:8081 我这个域名是之前安装gitlab配置的,当前linux环境是和gitlab共用的,没做通用性修改(懒了),参见:随意的蜗牛:gitlab安装:在docker中安装gitlab

首次登录,登录框显示如下:

按照提示进入docker容器查找admin的密码

sudo docker exec -it nexus3 bash
cat /nexus-data/admin.password

登录后进入配置向导

修改admin密码

6、创建仓库(测试deploy用)

参照下面的方法创建两个仓库mysnapshot和myrelease

7、新建maven项目(测试部署,此例用的是eclipse)

  • 修改maven的settins.xml文件

  • 修改eclipse中的setting文件设置

  • 创建maven测试项目

  • 修改项目的pom文件

  • 打包部署。运行Maven Build…

  • 查看部署结果

PS:安装过程中遇到的问题

在使用docker-compose启动容器的过程中,容器的状态一直是Restarting状态,通过下面查找日志,发现是权限的问题,在docker-compose.yml文件中增加了privileged和user参数解决了。错误原因是我的linux用户名是ljj,而容器挂载的data目录是root用户,导致容器启动过程中在宿主机的data目录操作没有权限。

查看日志

sudo docker ps       找到容器id
sudo docker logs 95ee2ad0dd68

0

评论区