我们使用jfrog Artifactory cloud来存储maven依赖项。我们在pom文件中使用这些依赖项。我们可以从本地文件构建,因为我们已经在.m2/settings.xml文件中添加了jfrog凭证。当我们试图从azure devops yaml文件运行同样的东西时,我们得到了身份验证错误(401错误代码),并且由于库无法下载和构建失败。我们已经在azure devops中添加了服务连接,它能够连接到jfrog。如何配置构建管道来访问jfrog Artifactory来访问库?
trigger:
- main
pool:
vmImage: "ubuntu-latest"
steps:
- checkout: self
lfs: true
- task: ArtifactoryToolsInstaller@1
inputs:
artifactoryService: 'xxxxxxxxxxxxxxxxxxxx'
cliInstallationRepo: 'jfrog-cli'
installExtractors: true
extractorsInstallationRepo: 'jcenter'
- task: ArtifactoryGenericDownload@3
inputs:
specSource: 'taskConfiguration'
fileSpec: |
{
"files": [
{
"pattern": "repo/*jar",
"target": $(System.DefaultWorkingDirectory)/lib
}
]
}
failNoOp: true
- task: Maven@3
inputs:
mavenPomFile: "pom.xml"
mavenOptions: "-Xmx3072m"
javaHomeOption: "JDKVersion"
jdkVersionOption: "1.8"
jdkArchitectureOption: "x64"
publishJUnitResults: true
testResultsFiles: "**/surefire-reports/TEST-*.xml"
goals: "package"
- publish: $(System.DefaultWorkingDirectory)/target/test.jar
artifact: artifact发布于 2021-01-29 20:30:14
看起来您使用的是Artifactory Azure DevOps扩展不支持的Maven任务。此任务不使用已配置的Artifactory服务连接。
相反,我建议使用ArtifactoryMaven任务。使用此任务可以强制解析和部署到Artifactory,因此不需要settings.xml文件。此任务还会发布到相关的目标部署存储库。
基本使用示例:
- task: ArtifactoryMaven@1
inputs:
mavenPomFile: 'pom.xml'
goals: 'install'
artifactoryResolverService: 'xxxxxxxxxxxxxxxxxxxx'
targetResolveReleaseRepo: 'libs-release'
targetResolveSnapshotRepo: 'libs-snapshot'
artifactoryDeployService: 'xxxxxxxxxxxxxxxxxxxx'
targetDeployReleaseRepo: 'libs-release-local'
targetDeploySnapshotRepo: 'libs-snapshot-local'您可以阅读有关Artifactory Maven任务here的更多信息。
https://stackoverflow.com/questions/65952775
复制相似问题