虚拟化容器,大数据,DBA,中间件,监控。

Nexus 制品库管理实践01 概念以及部署

21 12月
作者:admin|分类:系统运维

 工作流定义:

  • 集成流水线: 提交代码,构建,单测,代码扫描,上传制品【生成制品】
  • 制品晋级流水线:输入版本,选择晋级策略。(将制品复制到对应环境的仓库
  • 发布流水线: 输入版本号, 输入部署环境.(从对应环境的制品库中取制品)

集成流水线没有问题,那么包就要发布到环境里面去验证了,集成流水线就是去做一个基本的验证,验证之后,发布到环境进行测试,功能都正常,这个时候将包传到制品库,那么多个环境都可以使用这个制品。

多个环境,那么每个环境都有一个仓库对应,测试有测试的仓库,生产有生产的仓库,测试没问题了,那么就可以放到生产仓库。(制品的进阶)

制品类型: 二进制制品, docker镜像(制品库:可以将我们交付的包全部存起来)

核心技能点:

  • 制品库管理规范(创建)
  • 上传制品
  • 晋级制品
  • 下载制品

Release Notes

Nexus 基本功能简介


制品库就是存储制品的仓库,有些时候不仅仅作为制品的仓库,还可以进行安全扫描,比如上传的制品,制品里面依赖了哪些包,是否有问题都可以帮你扫描出来。

同时还可以使用其作为yum源,有些时候企业内部有自己的yum源,那么就可以使用Nexus将外网源proxy代理到内网,或者maven的私服代理进来。

从3.x开始,它默认支持许多主流的软件包格式。Docker、Maven、Npm:

仓库类型Type:

  • proxy 代理仓库。(比如要搭建一个私服,将外网源代理进来,就可以在内网配置代理仓库,输入外部的仓库地址,然后就指定这个仓库下载这些包的时候自动给你缓存进来

  • hosted 私有仓库。在本地搭建私服仓库,如maven类型的或者npm类型的,在打包编译的时候,直接通过私服仓库去获取这些包(存放本地制品的仓库)

  • group 仓库组,将多个仓库组合在一起,通过同一个URL对外提供。

代理仓库 : Maven、Npm等。用于存储外网公共仓库中的插件和依赖,不可进行修改和私自上传。

所以仓库也可以分为制品仓库和依赖仓库。私服代理都是依赖仓库。

components-组件


 这里的组件其实就是依赖包,这些包的依赖会在pom里面去定义,引用依赖的方式如下:

        <dependencies>
                <dependency>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-web</artifactId>
                </dependency>

                <dependency>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-test</artifactId>
                        <scope>test</scope>
                </dependency>
        </dependencies>

所以一个包就是一个组件,在构建过程当中以依赖包的形式让其他程序去依赖。这个包的格式可以是jar包,也可以是其他的类文件,还可以是文本,图片等。

组件还可以有多种格式jar包,war包,前端项目一般会打成zip包。

所以制品仓库存储的就是各种语言,前端后端的格式。

Nexus仓库管理


 通过仓库和制品的坐标来定位制品。

  

release与snapshot


 在存储开发,经常需要更新的,那么放在snapshot里面,在生产环境当中,定义为release版本。

Nexus安装部署配置 


docker pull sonatype/nexus3:3.30.0

mkdir -p /data/cicd/nexus3/data
chmod 777 -R /data/cicd/nexus3/

docker run -itd \
--privileged=true --name=nexus3 \
-p 8081:8081 \
-v /data/cicd/nexus3/data:/nexus-data \
sonatype/nexus3:3.30.0

日志查看Nexus是否已启动并准备就绪,请运行以下命令:

docker logs nexus3 -f

在日志中,看到消息:Started Sonatype Nexus OSS 3.30.0-01这意味着Nexus Repository Manager可以使用了。现在转到浏览器并打开。

http://your-ip-addr:8081

 安装完成后, 默认的admin账号密码存储在了数据目录,获取初始化密码:

docker exec -i nexus3 cat /nexus-data/admin.password

 登录后更新密码 admin/admin123

Nexus 配置管理


浏览430 评论0
返回
目录
返回
首页
Nexus 制品库管理实践02 搭建Maven私服(代理仓库) SonarQube 08 代码覆盖率统计