首页 > 其他分享 >配置管理中Nexus的应用+mvn上传方式

配置管理中Nexus的应用+mvn上传方式

时间:2024-07-21 12:55:41浏览次数:13  
标签:SVN 制品 Nexus sdmc 配置管理 xx mvn

前言:

        Nexus作为市面上为数不多的开源制品仓库,我个人在做配置管理体系建设的时候是会比较经常使用的,很多开发团队中他们不是很重视或者说虽然因为制品遇到了很多问题但是因为没有接触过制品管理的办法所以苦痛已久,今天也跟各位分享一下配置管理中Nexus的使用,便于大家制定规范和试点落地。

一、Nexus与SVN的优劣势对比

SVN的一些劣势:也是我所在团队遇到的问题(我们的SVN已经70T啦,泰酷辣)

        1、SVN随着项目迭代和使用周期的增长容量会变的越来越大,且难以清理

        2、SVN不具备检索能力无法快速找到所需的制品

        3、SVN主要是作为代码的版本管理系统和文件管理系统,不支持二进制文件/jar/war等类型的制品管理,如果使用SVN管理可能导致性能下降和延迟,以及合并二进制文件时可能出现的数据丢失或损坏

Nexus在弥补了SVN的劣势前提下其他优势:

        1、、Nexus支持灵活的权限控制,可以根据需要为不同的用户或团队设置不同的访问权限,确保资源的安全性和保密性。

        2、Nexus与主流的CI/CD工具(如Jenkins、Gitlab等)无缝集成,可以自动化构建、测试和部署过程,减少手动操作,提高交付速度和质量

        

总结:SVN只适合用来做文档管理,代码和依赖仓库(二三方包)管理建议使用正式的制品库管理工具 这些工具针对性的提供的功能会给管理带来很多便利。

二、Nexus的使用规划

1.制品层级划分

        根据团队实际情况将制品划分为不同等级,比如你们的测试等级为SIT-->UAT--PROD,那么就需要在Nexus创建这3个等级的制品仓库用于存放不同等级的制品(自行权限划分)

2、制品出入规范

        2.1在想保证制品质量的前提下Nexus只会接收使用自动化流水线构建出来的制品包,比如Jenkins、Gitlab流水线、其他Devops工具等。

        2.2使用自动化构建的流水线用来出第一个等级测试包,测试通过后再有两个配套等级的制品晋级流水线来做仓库间的拷贝,满足单一可信源确保制品质量。(比较核心,自己悟一下)

三、制品上传方式

1.手动上传

上传后的目录结构(上传的XML)

主要说明一下要填写的参数

       GroupID:最高级群组的名字这个需要根据你规范的定义每次固定填写

        ArtifectID:格式固定,规范自定义,会自动创建目录

                举个例子规范如果定义为:客户名.项目名称.迭代版本.发版日期

                那么ArtifectID值就是:kehu.Axiangmu.3version.240808(用"."隔开)

        Version:本次构建版本号

2.MVN命令上传

1.搭建mvn环境,配置settings.xml

        1.1安装apache-maven

        ......(自己找安装包,网上很多)

        1.2配置环境变量

cd /etc/profile
export MAVEN_HOME=/home/gitlab/apache-maven-3.6.1
export PATH=$MAVEN_HOME/bin:$PATH

        1.3确认生效

source /etc/profile
mvn -v

2.mvn-settings.xml配置

        2.1打开mvn配置文件setting.xml

        vim apache-maven-3.6.1/conf/settings.xml

        2.2配置<server>

这里主要配置的是不同权限的账号,比如我将制品分为了3个等级,并设置了不同等级对应的权限账号。

2.3配置<mirrors>

mirror配置你需要访问的Nexus仓库路径和账号密码信息等,与server对应,url获取位置如下图:

2.4上传命令

    mvn deploy:deploy-file \
                    -DgroupId=${GroupId} \
                    -DartifactId=${ArtifactId}_${BUILD_DATE} \
                    -Dversion=${MAJOR_FW_VERSION}"("${env.BUILD_ID}A")" \
                    -Dpackaging=zip \
                    -Dfile=${CHIP_MODEL}_${ArtifactId}_${BUILD_DATE}.zip \
                    -Durl=http://10.10.xx.xx:8089//repository/sdmc_Dev \
                    -DrepositoryId=sdmc_public

举例:

mvn deploy:deploy-file \

        -DgroupId=Anodirs_s.s905x4.0106.Telia \

        -DartifactId=Telia_20240228 \

        -Dversion=1.1.1 \

        -Dpackaging=zip \

        -Dfile=test.zip \

        -Durl=http://10.10.xx.xx:8089/repository/sdmc_Dev \

        -DrepositoryId=sdmc_Dev

特别说明:

        DrepositoryId是mvn-settings.xml中配置的有权限的账密

        每一行后面都需要空格+"\"

2.5下载命令

/mvn dependency:get \
           -DremoteRepositories=http://10.10.xx.xx:8089//repository/sdmc_Dev/ \
           -DgroupId=${GroupId} \
            -DartifactId=${ArtifactId} \
            -Dversion=${Package_one_BUILD_DATE}_packageone_user \
            -Dpackaging=zip \
            -DrepositoryId=sdmc_public  

        如有疑问可以留言,看到会回。

标签:SVN,制品,Nexus,sdmc,配置管理,xx,mvn
From: https://blog.csdn.net/qq67709200/article/details/140586573

相关文章

  • 使用Java和Consul实现服务配置管理
    使用Java和Consul实现服务配置管理大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在现代微服务架构中,服务配置管理是一个重要的环节。Consul是一个用于服务发现和配置管理的工具,它提供了一个灵活的方式来管理和存储配置数据。本文将展示如何使用Java......
  • 解决IDEA自带的Maven 3.9.x无法刷新HTTP Nexus私服的问题
    解决IDEA自带的Maven3.9.x无法刷新HTTPNexus私服的问题前言在日常开发中,我们经常会使用Maven来管理项目的依赖。而Nexus私服则是一个常用的Maven仓库管理工具,可以帮助我们更好地管理和分发项目的依赖。然而,有时候我们会遇到一些棘手的问题,比如在使用IDEA自带的Maven3.9.x时,无......
  • 阿里云服务器高效部署Nacos:打造高可用服务发现与配置管理平台
    1.为什么用阿里云服务器部署nacos当我们考虑为何选择阿里云服务器来部署Nacos时,一个不可忽视的因素是成本效益。特别是当我们选择突发实例型服务器时,按月购买的成本相比其他云服务器提供商来说更为经济划算。然而,除了价格优势外,阿里云服务器还带来了另一个关键优势:那就是其内......
  • Cisco Nexus 9000 Series Switches, NX-OS Standalone 10.4(3)F and ACI Mode 16.0(6c
    CiscoNexus9000SeriesSwitches,NX-OSStandalone10.4(3)FandACIMode16.0(6c)MincludeApplicationPolicyInfrastructureController(APIC)Release6.0(6c)M请访问原文链接:https://sysin.org/blog/cisco-nexus-9000/,查看最新版。原创作品,转载请保留出处。作者主页......
  • NACOS配置管理
    1、配置管理可以解决什么问题(1)统一管理微服务模块相同的配置(2)实现热部署,更新配置不需要重启服务(3)实现动态路由1.1、实现统一管理配置1.1.1、新增配置1.1.2、配置基本属性 还可以将共有的swagger和log的配置抽取出来,新建shared-swagger.yaml和shared-log.yaml在cart......
  • Spring Boot中的配置管理详解
    SpringBoot中的配置管理详解大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!SpringBoot作为现代Java应用程序开发的主流框架之一,提供了强大的配置管理功能,本文将深入探讨SpringBoot中配置管理的各种技术细节和最佳实践。1.配置文件SpringBoot支持......
  • maven mvn install 报错: unable to find valid certification path to requested targ
    [INFO]---maven-surefire-plugin:2.22.2:test(default-test)@platform---[INFO]Downloadingfromalimaven:http://maven.aliyun.com/repository/public/org/apache/maven/surefire/maven-surefire-common/2.22.2/maven-surefire-common-2.22.2.pom[INFO]---------......
  • 安装Nexus3和使用Nexus3搭建私有docker镜像仓库
    1、官网下载Nexus3:https://help.sonatype.com/en/download.html2、上传到服务器后解压:tar-xfnexus-3.69.0-02-java8-unix.tar.gz3、修改运行nexus配置【1】修运行nexus所使用的用户:vim/opt/nexus3/nexus-3.69.0-02/binexus.rc#修改默认登陆用户为admin#run_as_user=......
  • Java私有仓库Nexus搭建(喂奶式教程)
     1.为什么需要搭建私有仓库?1.有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到这台私服上,这样的话就可以通过这台搭建了nexus私服的电脑访问maven的远程仓库。而且自己......
  • 【VMware vSAN】vSAN Data Protection Part 2:配置管理。
    上篇文章“vSANDataProtectionPart1:安装部署。”介绍了如何安装及部署VMwareSnapshotServiceAppliance设备,并在vSANESA集群中启用vSANDataProtection功能。这篇文章继续了解vSANDataProtection相关功能的配置与管理。登录vSphereClient管理界面,您可以导......