发布制品到 Jfrog Artifactory

1. 获取 Maven 的 settings.xml 文件

Artifactory -> Artifacts -> Set Me Up

 

 

 

 

点击 Set Me Up

 

 

 

 

  • Type password to insert your credentials to the code snippets 如果输入密码的话,生成的settins.xml文件有密码;否则不会生成密码

  • Releases  jar发布版本的仓库

  • Snapshots jar快照版本的仓库

  • Plugin Releases 插件发版版本的仓库

  • Plugin Snapshots 插件快照版本的仓库

因为没有根据不同仓库类型创建不同的仓库,所以这里都选 dev_group

输入密码(要点击小锁图标才会生成密码,否则即使输入了也不会生成密码),然后点击Generate Settings

 

 

点击Download Snippet,即可下载 settings.xml 文件

 

 

另外,密码的获取也可以通过以下方式获得

 

 

输入Pasword,然后点击Unlock

 

 

找到Encrypted Pasword,点击复制图标,即可把加密密码复制到剪贴板

 

 

2. 修改 settings.xml 文件

下载下来的 settings.xml 文件,servers节点的配置不对的,以下是下载下来的settings.xml文件的内容

<servers>
  <server>
    <username>${security.getCurrentUsername()}</username>
    <password>${security.getEscapedEncryptedPassword()!"AP618vz432Djy5gwWfBu5jWR5hL"}</password>
    <id>central</id>
  </server>
  <server>
    <username>${security.getCurrentUsername()}</username>
    <password>${security.getEscapedEncryptedPassword()!"AP618vz432Djy5gwWfBu5jWR5hL"}</password>
    <id>snapshots</id>
  </server>
</servers>

需要把username和pasword修改正确,修改后

<servers>
  <server>
    <username>admin</username>
    <password>AP618vz432Djy5gwWfBu5jWR5hL</password>
    <id>central</id>
  </server>
  <server>
    <username>admin</username>
    <password>AP618vz432Djy5gwWfBu5jWR5hL</password>
    <id>snapshots</id>
  </server>
</servers>

修改后,即可把该文件替换Maven安装目录下conf目录的settings.xml文件了。

3. 将 Maven 工程发布到 Jfroy Artifactory

  • 在项目中的 pom.xml 文件中添加如下代码

<distributionManagement>
  <repository>
      <id>central</id>
      <name>Releases Repository</name>
      <url>http://localhost:8082/artifactory/local-repos/</url>
  </repository>
    <snapshotRepository>
        <id>snapshots</id>
        <name>Snapshot Repository</name>
        <url>http://localhost:8082/artifactory/local-repos/</url>
    </snapshotRepository>
</distributionManagement>

这里的 id,需要跟 settings.xml 文件的 server 节点的一一对应;url节点的地址使用Local Repository的地址

 

 

  • 在 pom.xml 文件所在路径下执行

mvn clean deploy

注意:正常 release 仓库与 snapshot 仓库应该分开,这里做了偷懒。发布在 release 仓库的 jar 包 version 命名中必须包含 RELEASE;同理,发布在 snapshot 仓库的 jar 包 version 命名中必须包含 SNAPSHOT。

  • 检查发布情况

 

 

参考: https://www.jfrog.com/confluence/display/JFROG/Maven+Repository
posted @ 2022-04-09 08:58  BUG弄潮儿  阅读(198)  评论(0编辑  收藏  举报