nexus - 以编程方式添加代理存储库并在 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 配置时自动执行此操作。我在这里阅读了一些关于使用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'
测试并为我工作!
推荐阅读
- java - 使用 DiffUtil 删除旧的更新列表到 recyclerview 适配器?
- python - 将行分配给其他行
- count - 如何计算unix中的目录?
- sonarqube - 创建一个新的覆盖率规则来阻止代码覆盖率低于 80% 的 PR 以及如何修复 not inside git tree 问题
- python - 如何使用 biobert 嵌入对医学数据进行二元分类?
- azure-cosmosdb - Azure sdk for python cosmosdb 属性错误
- javascript - Filter an array of objects with a nested array
- nlp - 质量保证系统中缺少黄金语料库
- javascript - Eslint 错误:'期望一个赋值或函数调用,而是看到一个表达式'
- jquery - 使用ajax的多个请求