gpt4 book ai didi

maven - 将 Artifact 上传到 Nexus 3

转载 作者:行者123 更新时间:2023-12-04 17:24:10 24 4
gpt4 key购买 nike

我正在尝试将 Artifact 上传到 Nexus 3。我已经成功地做到了,但是当我查看 UI 时,事情似乎没有正确分组。

我可以通过以下配置和 URL 使用 curl 或 maven。

uploadArchives {
repositories {
mavenDeployer {
repository(url: "http://localhost:8081/repository/my-snapshot/") {
authentication(userName: "admin", password: "admin123")
}
pom.version = "${version}-SNAPSHOT"
pom.artifactId = "my-server"
pom.groupId = "com.example"
}
}
}

但是当我这样做时, Artifact 没有分组,因此我可以根据它的版本删除目录。我必须删除每个文件:

enter image description here

这是 Nexus 3 的限制吗?

最佳答案

还有一个“组件 View ”,它按人工制品对事物进行分组

enter image description here

但是,如果您想了解有关如何根据人工制品 ID 和版本删除组件的信息:
你可以通过nexus api实现它

https://books.sonatype.com/nexus-book/reference3/scripting.html 读取 ch16向您介绍脚本方式
那里的答案向您展示了如何列出 repo 中的所有人工制品。我在这里扩展了它:

import groovy.json.JsonOutput
import org.sonatype.nexus.repository.storage.Component
import org.sonatype.nexus.repository.storage.Query
import org.sonatype.nexus.repository.storage.StorageFacet

def repoName = "eddie-test"
def startDate = "2016/01/01"
def artifactName = "you-artifact-name"
def artifactVersion = "1.0.6"

log.info(" Attempting to delete for repository: ${repoName} as of startDate: ${startDate}")

def repo = repository.repositoryManager.get(repoName)
StorageFacet storageFacet = repo.facet(StorageFacet)
def tx = storageFacet.txSupplier().get()

tx.begin()

// build a query to return a list of components scoped by name and version
Iterable<Component> foundComponents = tx.findComponents(Query.builder().where('name = ').param(artifactName).and('version = ').param(artifactVersion).build(), [repo])

// extra logic for validation goes here
if (foundComponents.size() == 1) {
tx.deleteComponent(foundComponents[0])
}

tx.commit()
log.info("done")

关于maven - 将 Artifact 上传到 Nexus 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39613220/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com