【发布时间】:2021-08-30 22:09:56
【问题描述】:
我在 Azure Pipeline 中使用 Azure DevOps 任务 ArtifactoryNuGet@2。
我需要帮助将 NuGet 包从 Azure Devops 管道部署到 Artifactory。 (我不知道这是否有区别,但这是 Artifactory 的云实例,而不是本地实例。)
我已经阅读了这两个站点的文档:
- https://marketplace.visualstudio.com/items?itemName=JFrog.jfrog-artifactory-vsts-extension
- https://www.jfrog.com/confluence/display/JFROG/Artifactory+Azure+DevOps+Extension
另外,我已经查看了https://github.com/jfrog/artifactory-azure-devops-extension/blob/master/tasks/ArtifactoryNuget/Ver2/task.json中的任务参数
我已使用 ArtifactoryNuGet 成功从 Artifactory 恢复包并将包推送到 Artifactory。但是,我想微调推送包路径以排除某个目录。也就是说,我想推送在目录myproject 中找到的所有包,除了在子目录myproject/foo 中找到的包。
我有这样指定的任务:
- task: ArtifactoryNuGet@2
enabled: false
inputs:
command: 'push'
artifactoryService: 'AzureToArtifactory'
targetDeployRepo: 'acm-nuget-release-local'
targetDeployPath: 'Azure_CI_Build/xyzzy/packages'
pathToNupkg: 'myproject\**\*.nupkg;!myproject\foo\**\*.nupkg'
虽然 ArtifactoryNuget 识别双通配符“**”,但它不识别排除字符“!” ,我不知道它是否识别分号';' .
如果我只使用路径 myproject\**\*.nupkg,ArtifactoryNuGet 会找到 15 个包,其中 11 个在 foo 中,其中 4 个在其他子目录中。我只想要在别处找到的 4 个。
如果我使用上面示例中的排除路径,ArtifactoryNuGet 找不到任何包。我预计它会找到 4 个包。
如何定义pathToNupkg 以排除某些子目录,如图所示?
【问题讨论】:
标签: azure azure-devops nuget azure-pipelines artifactory