azure - 通过 Azure Pipeline 将 Maven 构建部署到 Azure Artifacts 时如何修复 401?
问题描述
我在 Azure Artifacts(azure-maven)中创建了提要,添加了 MavenAuthenticate 任务来构建管道(使用 artifactsFeeds:azure-mave),将 mavenAuthenticateFeed: true 添加到 Maven 任务中,将存储库添加到 pom.xml 中相同的 ID,但在部署 Maven 任务时失败并显示 401(未经授权)。
我错过了一步吗?
(如果我没有,我也不想使用 PAT,这不是使用 MavenAuthenticate 任务的原因吗?)
干杯,史蒂夫
解决方案
嗯,看起来问题实际上是将 mavenAuthenticateFeed 设置为 true,这对我来说没有意义:(
这是工作 yml:
trigger:
- main
variables:
- name: MAVEN_CACHE_FOLDER
value: $(Pipeline.Workspace)/.m2/repository
- name: MAVEN_OPTS
value: -Dmaven.repo.local=$(MAVEN_CACHE_FOLDER)
pool:
vmImage: 'ubuntu-latest'
steps:
- task: MavenAuthenticate@0
inputs:
artifactsFeeds: 'azure-maven'
- task: Cache@2
inputs:
key: 'maven | "$(Agent.OS)" | pom.xml'
path: '$(MAVEN_CACHE_FOLDER)'
cacheHitVar: 'CacheRestored'
restoreKeys: |
maven | "$(Agent.OS)"
maven
displayName: Cache Maven local repo
- task: Maven@3
inputs:
mavenPomFile: 'pom.xml'
goals: 'package deploy'
publishJUnitResults: true
testResultsFiles: '**/surefire-reports/TEST-*.xml'
javaHomeOption: 'JDKVersion'
mavenVersionOption: 'Default'
mavenOptions: '-Xmx3072m $(MAVEN_OPTS)'
mavenAuthenticateFeed: false
jdkVersionOption: '1.8'
jdkArchitectureOption: 'x64'
effectivePomSkip: false
sonarQubeRunAnalysis: false
- task: CopyFiles@2
inputs:
Contents: '**/target/*.jar'
TargetFolder: '$(Build.ArtifactStagingDirectory)'
CleanTargetFolder: true
flattenFolders: true
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'Test'
publishLocation: 'Container'
推荐阅读
- spring - 我不知道为什么 InalidDataAccessApiUsageException
- google-sheets - 提取 gmail 数据(最后一次联系的日期)到谷歌表
- python-sphinx - 如何在 Sphinx 文档集中的页面之间链接
- facebook-graph-api - 是否可以在单个 API 调用中请求不同时期的 Instagram 指标?
- logstash - mutate 过滤器没有按预期工作
- google-analytics - 如何让 Google Analytics 知道我的用户仍然在线?
- automated-tests - 如何使用gitlab ci测试一个java maven项目是否可以在多个jdks平台下构建和运行?
- python - 如何绘制超过 1000 个字典键和值
- mysql - 在 wp_usermeta 中没有特定 meta_key 的 Wordpress 中的 MYSQL 查询
- draw.io - 使用 Draw.io embed 限制默认模板