zoukankan      html  css  js  c++  java
  • maven之发布项目到nexus【clean deploy命令】

    原文:http://m.blog.csdn.net/article/details?id=49667971

    当我们的项目开发完成以后,可能要进行发布(如果是独立的项目,就不需要发布啦,如果是模块项目,那么就要发布到nexus里,供其他开发人员下载调用。)

    要想发布项目到nexus里,必须通过<distributionManagement>标签来进行配置。在之前的文章中有介绍nexus的工厂类别,其中提到两个:hosted里的Releases、Snapshots.

    当我们发布项目到nexus里时,如果项目版本是x.x.x-Releases,则会发布到Releases工厂中;而项目版本是x.x.x-SNAPSHOTS则发布到Snapshots工厂中。

    配置<distributionManagement>:

    代码:

    <distributionManagement>
      	<repository>
      		<id>releasesId</id>
      		<name>Releases name</name>
      		<url>http://localhost:8081/nexus/content/repositories/releases/</url>
      	</repository>
      	<snapshotRepository>
      		<id>snapshots id</id>
      		<name>snapshots name</name>
      		<url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
      	</snapshotRepository>
      </distributionManagement>

    右键项目 --> run as  ---> maven Build... --> 输入clean deploy命令(一开始会下载一些依赖包,淡定.....)。

    后面我们会看到如下的提示信息:

    怎么来设置授权呢?

    【1】:去到nexus管理界面 --- > 左侧菜单栏“Security”  --> “Users” ,右侧所列出的用户中,只有deployment用户才有发布项目到nexus的权限。

    【2】:在setting.xml里使用<server>标签进行授权。server里的id对应<distributionManagement>里设置的id。

    流程是:当执行clean deploy命令进行发布时,首先会找到<distributionManagement>的配置,获取配置信息。

    然后如果setting.xml里有配置server,对比id值,如果匹配的上,就验证server里的用户是否拥有发布的权限,有权限就把项目发布到对应的仓库里。

    setting.xml中server标签代码:

    <server>
          <id>releasesId</id>
          <username>deployment</username>
          <password>deployment123</password>
        </server>
    
    	<server>
          <id>snapshotsid</id>
          <username>deployment</username>
          <password>deployment123</password>
        </server>

    至此,发布的配置就完成了,执行clean deploy命令后,就会在nexus的Releases或Snapshots仓库中找到发布的项目了。

    如果我们不想把所有项目都发布到nexus的Releases或Snapshots仓库中,而是想在nexus里能为每个项目开辟一个空间,存放每个项目自己发布上去的依赖包。

    要实现这种效果,需要以下几步操作:

    (1)在nexus里为每个项目创建hosted类型的工厂(Releases或Snapshots两种)

    (2)在Securiy --> Privileges里添加Releases或Snapshots两种工厂的特权(可以执行那些操作,如往工厂里发布,查看,删除等特权)

    (3)在Security --> Roles 里添加角色,为角色配置权限

    (4)在Security --> Users 里添加用户,为用户设定角色

    (5)在pom.xml里的 <distributionManagement>把url改为对应的工厂路径,在setting里的server里设定对应的用户密码



    执行clean deploy命令后:

  • 相关阅读:
    Centos 7 安装jdk 配置环境变量
    【转载】C#检测客户端输入的内容是否含有危险字符串
    【转载】C#将图片以二进制流的方式存入数据库
    【转载】为何你的网站一直不被百度、搜狗、谷歌等搜索引擎收录
    【转载】目前国内主流的云服务器厂商有哪些
    【转载】阿里云服务器为网站选配Https证书
    【转载】网站遭遇DDoS攻击怎么办
    使用的阿里云服务器被黑客入侵怎么办
    HTTP状态码以及其含义大全
    Url的Base64编码以及解码
  • 原文地址:https://www.cnblogs.com/shihaiming/p/6410813.html
Copyright © 2011-2022 走看看