以编程方式添加代理存储库并在 Nexus 中编辑存储库组(Helm Chart)
Programmatically add Proxy Repositories and edit a Repository group in Nexus (Helm Chart)
我正在 Kubernetes 集群上自动构建我们的开发环境(prow、tekton、kaniko、nexus、vault 等)。这样我就可以在需要时在不同的 Kuberentes 集群上快速重建开发环境。我正在使用 Jenkins X 真的很棒!
我使用的 Nexus 存储库服务器是从 helm chart 构建的。为了让我的应用程序能够开箱即用,只需与我们的 Nexus 服务器通信,我需要添加另外两个不在 maven-central 中的 Nexus (mvn) 存储库,并将它们添加到 maven-group。
这在 Nexus 中很容易做到 UI。但是,我想在提供 helm chart 时自动执行此操作。我读过一些东西 here about using the Script API。我可能会深入研究并让它发挥作用,但这似乎是一个简单问题的复杂解决方案。有没有可能的替代方法?
使用脚本执行此操作可能比我原先预想的更容易,尚未测试,但我想 create-repos.json
可能看起来像这样:
{
"name": "create-repos",
"type": "groovy",
"content": "repository.createMavenProxy('proxy-foo','https://foo.example.com/maven-group'); repository.createMavenProxy('proxy-bar', 'https://bar.example.com/maven-group'); repository.createMavenGroup('foobar-group', ['maven-public', 'proxy-foo', 'proxy-bar'], 'default');"
}
创建后,使用一些 shell 命令上传、运行 和删除脚本:
curl -v -X POST -u admin:admin123 --header "Content-Type: application/json" \
'http://nexus.jx.cluster/service/rest/v1/script' -d @create-repos.json
curl -v -X POST -u admin:admin123 --header "Content-Type: text/plain" \
'http://nexus.jx.cluster/service/rest/v1/script/create-repos/run'
curl -v -X DELETE -u admin:admin123 \
'http://nexus.jx.cluster/service/rest/v1/script/create-repos'
经过测试并为我工作!
我正在 Kubernetes 集群上自动构建我们的开发环境(prow、tekton、kaniko、nexus、vault 等)。这样我就可以在需要时在不同的 Kuberentes 集群上快速重建开发环境。我正在使用 Jenkins X 真的很棒!
我使用的 Nexus 存储库服务器是从 helm chart 构建的。为了让我的应用程序能够开箱即用,只需与我们的 Nexus 服务器通信,我需要添加另外两个不在 maven-central 中的 Nexus (mvn) 存储库,并将它们添加到 maven-group。
这在 Nexus 中很容易做到 UI。但是,我想在提供 helm chart 时自动执行此操作。我读过一些东西 here about using the Script API。我可能会深入研究并让它发挥作用,但这似乎是一个简单问题的复杂解决方案。有没有可能的替代方法?
使用脚本执行此操作可能比我原先预想的更容易,尚未测试,但我想 create-repos.json
可能看起来像这样:
{
"name": "create-repos",
"type": "groovy",
"content": "repository.createMavenProxy('proxy-foo','https://foo.example.com/maven-group'); repository.createMavenProxy('proxy-bar', 'https://bar.example.com/maven-group'); repository.createMavenGroup('foobar-group', ['maven-public', 'proxy-foo', 'proxy-bar'], 'default');"
}
创建后,使用一些 shell 命令上传、运行 和删除脚本:
curl -v -X POST -u admin:admin123 --header "Content-Type: application/json" \
'http://nexus.jx.cluster/service/rest/v1/script' -d @create-repos.json
curl -v -X POST -u admin:admin123 --header "Content-Type: text/plain" \
'http://nexus.jx.cluster/service/rest/v1/script/create-repos/run'
curl -v -X DELETE -u admin:admin123 \
'http://nexus.jx.cluster/service/rest/v1/script/create-repos'
经过测试并为我工作!