如何通过nexus REST API激活“允许重新部署”到nexus

时间:2014-01-24 13:45:28

标签: maven-2 maven-3 nexus

我需要通过REST API激活和停用“部署策略”。所以基本上来说,从命令行我将如何将“部署策略”切换为“允许重新部署”和“禁用重新部署”。有什么办法。

谢谢, SSTAR

2 个答案:

答案 0 :(得分:4)

假设您在http://localhost:8081/nexus上运行了Nexus,这是本地安装的默认设置,您可以将其用于本地开发..

您可以使用

访问“快照”的回购设置
curl http://localhost:8081/nexus/service/local/repositories/snapshots

会产生类似

的内容
 <repository>
  <data>
   <contentResourceURI>http://localhost:8081/nexus/content/repositories/snapshots</contentResourceURI>
        <id>snapshots</id>
        <name>Snapshots</name>
        <provider>maven2</provider>
        <providerRole>org.sonatype.nexus.proxy.repository.Repository</providerRole>
        <format>maven2</format>
        <repoType>hosted</repoType>
        <exposed>true</exposed>
        <writePolicy>ALLOW_WRITE</writePolicy>
        <browseable>true</browseable>
        <indexable>true</indexable>
        <notFoundCacheTTL>1440</notFoundCacheTTL>
        <repoPolicy>SNAPSHOT</repoPolicy>
        <downloadRemoteIndexes>false</downloadRemoteIndexes>
        <defaultLocalStorageUrl>file:/opt/tools/sonatype-work/nexus/storage/snapshots/</defaultLocalStorageUrl>
  </data>
</repository>

注意“writePolicy”值ALLOW_WRITE。它等同于“允许在用户界面中重新部署”.ALLOW_WRITE_ONCE相当于“禁止重新部署”。

如果您在http://localhost:8081/nexus/nexus-restlet1x-plugin/default/docs/index.html本地安装上查看REST API文档,您可以看到您也可以针对特定仓库执行PUT请求。因此,您将获得设置,更新写入策略值,然后将其恢复。

根据您用于实现REST调用的内容,这看起来会有所不同。查看book chapter以获取有关所有内容的更多信息。            

答案 1 :(得分:0)

自Nexus信息库管理器3.7.1-02起

根据

http://nexus_url:8081/swagger-ui/

http://nexus_url:8081/swagger-ui/#!/read45only/forceRelease

它应该更准确地说是:

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' 'http://nexus_url:8081/service/siesta/rest/beta/read-only/force-release'