• Nexus 按项目类型分配不同的工厂来发布不同 项目


    但是有时候,一个公司会有很多项目[crm,oa,erp]等等的项目。如果把这些项目全部都放到releases或者snapshots中的话会有点混乱。
    比较好的办法是,按项目来分。
    每个项目一个工厂:cms-repositorie、oa-repositorie
    每个项目一个角色:cms oa
    每个角色都只管理自己的工厂:cms管理cms-repositorie…..
    这样的好处就是,按项目类型来管理不同的项目,不同的开发人员的发布权限

    例如:现在为cms这个项目配置工厂

    1.添加工厂

    首先添加一个:cms-releases的工厂
    Views/Repositories—>Add—>HostedRepository
    Repository Policy:选择Releases
    Deployment Policy:选择Allow Deployment

    同样的方法,再添加一个:cms-snapshots工厂
    注意:选择Repository Policy为Snapshot

    2.添加权限

    为cms项目添加一个:增删改查的权限
    默认情况下,nexus为新工厂分配了view权限

    添加一个cms的releases的权限

    然后再添加一个cms的snapshots的权限
    注意:Repostory需要选择为snapshots类型的工厂
    添加后的权限为:release和snapshots都有相应的增删改查

    3.添加角色

    4.添加用户

    5.发布项目

    至此,cms项目的release工厂和snapshots工厂都已经配置完成了。
    在发布项目的时候,就可以使用该工厂了。
    pom.xml中配置需要的工厂

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <distributionManagement>
        <!-- 两个ID必须与 setting.xml中的<server></server>保持一致-->
        <repository>
            <id>cms-releases</id>
            <name>Nexus Release Repository</name>
        </repository>
        <snapshotRepository>
            <id>cms-snapshots</id>
            <name>Nexus Snapshot Repository</name>
        </snapshotRepository>
    </distributionManagement>

    setting.xml文件中配置用户权限

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <server
        <id>cms-releases</id
        <username>cms</username
        <password>cms123</password
    </server
    <server
        <id>cms-snapshots</id
        <username>cms</username
        <password>cms123</password>  
    <server>

    使用命令发布项目 mvn:deploy

    发布之后,就可以在cms snapshots repositories中看到刚才发布的项目

  • 相关阅读:
    模块系统
    控制结构
    基本语法
    Go-技篇第一 技巧杂烩
    微服务的4个设计原则和19个解决方案
    kcp-go源码解析
    windows.go
    服务端跨域处理 Cors
    Snowflake 全局唯一Id 生成
    面试?或许你应该这样
  • 原文地址:https://www.cnblogs.com/jtlgb/p/7519541.html
Copyright © 2020-2023  润新知