【发布时间】:2014-02-15 13:03:14
【问题描述】:
我需要通过 REST API 激活和停用“部署策略”。所以基本上来说,我将如何从命令行将“部署策略”切换为“允许重新部署”和“禁用重新部署”。有什么办法吗。
谢谢, 明星
【问题讨论】:
我需要通过 REST API 激活和停用“部署策略”。所以基本上来说,我将如何从命令行将“部署策略”切换为“允许重新部署”和“禁用重新部署”。有什么办法吗。
谢谢, 明星
【问题讨论】:
假设您在http://localhost:8081/nexus 上运行 Nexus,这是本地安装的默认设置,您将用于本地开发..
您可以通过以下方式访问“快照”的 repo 设置
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 文档,您会发现您还可以对特定的 repo 执行 PUT 请求。因此,您将获得设置,更新写入策略值,然后将其放回原处。
根据您用于实现 REST 调用的方式,这看起来会有所不同。查看book chapter 了解更多信息。
【讨论】:
自 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'
【讨论】: