gpt4 book ai didi

maven - 将快照 Artifact 发布到 azure devops Artifact

转载 作者:行者123 更新时间:2023-12-03 02:40:01 28 4
gpt4 key购买 nike

我在 Azure DevOps 中设置了 Gradle 构建,它在 Azure DevOps git 存储库中编译代码,然后将生成的 JAR(作为 Maven Artifact )发布到 Azure Artifacts,如 here 所述。 .然后,其他 Azure DevOps git 存储库中的代码可以将这些组件作为依赖项引用。这对于这些组件的正式版本(具有唯一版本号)很好,但我还需要一种方法来使其适用于正在进行的快照版本。问题是我不能多次发布具有相同版本号(例如 1.2.3-SNAPSHOT)的 Artifact 。这似乎是因为 packages in Azure are immutable .

根据我的理解,这意味着 Azure Artifacts 不能用于存储正在进行的快照 Artifact 。那是对的吗?

如果是,是否还有其他选择仍然使用 Azure DevOps?我可以看到我可以publish artifacts to Azure Blob Storage ,但据推测,这是您必须在 Azure Artifacts 的现有使用基础上支付的费用。我还可以看到有很多 GitHub Maven plugins将 GitHub 存储库视为 Maven 存储库,但我找不到任何类似的东西可以使用 Azure DevOps 存储库作为发布 Maven Artifact 的地方。

如果它有所作为,我说的是基于云的 Azure 的东西,没有任何内部部署。

最佳答案

包管理的前提是包是不可变的。这启用了一大堆原本不存在的缓存选项。包存储在您的本地包缓存中,可能位于代理提要包缓存中,所有这些元素都假定具有相同名称+版本的包未更改,并将提供缓存版本而不是您推送的最新版本。大多数包系统都是建立在这个前提上的,包括 Nuget 和 NPM。

创建开发快照的技巧是使用语义版本控制并为您的版本添加唯一后缀。例如 1.2.3-SNAPSHOT.1其次是 1.2.3-SNAPSHOT.2 ,有可用于 Azure Pipelines 的工具,例如 GitVersion它可以自动生成一个独特的版本 + 后缀,您可以将其传递到 Artifact 的版本中。

如果您不想“弄乱”您的主要包提要,您可以为开发目的设置第二个提要来保存所有中间包,然后您可以将这些包之一提升到您的主要提要,或者您可以运行特定管道(配置)将最终包推送到用于稳定包的提要。

关于maven - 将快照 Artifact 发布到 azure devops Artifact ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52532004/

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