有什么方法可以自动配置 Nexus 3?

Is there any way I can automate configuring Nexus 3?

我目前正在设置一个nexus3 OSS 服务器。我已经创建了一个 ansible 角色,它将设置一个官方的 nexus3 docker 容器 behing 和 nginx 反向代理。我有单独的存储设置,因此如果实例被杀死(例如,基本映像更新),我的工件将保留。我想设置 ansible 角色,这样我就不必在每次重新创建服务器时都进入 nexus gui 来设置 LDAP 和存储库。有没有办法将这种配置注入nexus?

Nexus Repository Manager 3 包含一个脚本 API,您可以将其用于此类工作。看看 documentation and the demo videos

如果您发现任何问题,我们应该展开 API 或者需要一些帮助 contact us on the mailing list or via live chat.

我刚刚求助于在 nexus2 中创建代理存储库,稍后我会把它们变成托管存储库。这里的存储更加直接和可访问,我将它托管在一个离散的持久性 EBS 上。我将暂时使用它,并在发布时升级到 3.1。无论如何谢谢!

有一个非常简单的变通方法可以使 nexus 自动化,我通常通过使用名为 swagger 的 API 文档工具的 nexus API 来做到这一点,为了做到这一点,你可以去http://localhost:8081/#admin/system/api 或者您可以前往:

System administration and configuration > System > API

您可以查看 nexus 的完整 API 文档,因此要进行配置,您可以创建一个包含多个 curl 调用任何您想要的 API 的脚本。 生成的 API 请求将如下所示:

    # Add jenkins user
    curl -X 'POST' \
        "http://${NEXUS_URL}/service/rest/v1/security/users" \
        -u "admin:admin123" \
        -H 'accept: application/json' \
        -H 'Content-Type: application/json' \
        -d '{
  "userId" : "jenkins",
  "firstName" : "jenkins",
  "lastName" : "jenkins",
  "emailAddress" : "jenkins@domain.com",
  "password" : "jenkins",
  "status" : "active",
  "roles" : [ "nx-admin" ]
}' 

this for example will create a new jenkins user.

You can find more in nexus API documentation