【问题标题】:Cache not updated in Azure devops Pipelines using Java Maven使用 Java Maven 在 Azure devops Pipelines 中未更新缓存
【发布时间】:2022-10-05 13:10:53
【问题描述】:

我对使用 Java Maven 和缓存的 Azure devops Pipeline 有疑问。当我更改自定义依赖项中的文件时,Azure devops 不会更新缓存。

我使用 Azure devops 工件来存储创建的工件。

我有一个基本的 Java 应用程序,我们称之为:nl.company.toolS
我有一个名称为:nl.mycompany.dependencyB
Dependency nl.mycompany.dependencyB 通过 pom.xml 包含在基本 Java 应用程序中

这是我的 Azure devops 管道代码:

# Maven
variables:
  MAVEN_CACHE_FOLDER: $(Pipeline.Workspace)/.m2/repository
  MAVEN_OPTS: '-Dmaven.repo.local=$(MAVEN_CACHE_FOLDER)'

pool:
  vmImage: ubuntu-latest

steps:
- task: DownloadSecureFile@1
  name: settings_xml
  displayName: Download settings.xml
  inputs:
    secureFile: 'settings.xml'

- task: Cache@2
  inputs:
    key: 'maven | "$(Agent.OS)" | **/pom.xml'
    restoreKeys: |
      maven | "$(Agent.OS)"
      maven
    path: $(MAVEN_CACHE_FOLDER)
  displayName: Cache Maven local repo

- task: Maven@3
  inputs:
    mavenPomFile: 'pom.xml'
    goals: 'deploy'
    options: '-s $(settings_xml.secureFilePath)'
    publishJUnitResults: true
    testResultsFiles: '**/surefire-reports/TEST-*.xml'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: '1.8'
    mavenVersionOption: 'Default'
    mavenOptions: '-Xmx3072m $(MAVEN_OPTS)'
    mavenAuthenticateFeed: false
    effectivePomSkip: false
    sonarQubeRunAnalysis: false

我的依赖 nl.mycompany.dependencyB 有一个文件:sharedModule/cdm.dwl,它经常需要更新。

首先,我使用 Azure Devops 管道构建我的基本 Java 应用程序,上面的代码和插入的 Junit 测试运行良好。

然后我更新依赖中的 cdm.dwl 文件 然后我使用上面的代码使用 Azure devops 构建依赖项。

然后我再次使用 Azure devops 构建了基本的 Java 应用程序,Junit 测试再次运行良好,但他们应该给出错误,因为 cdm.dwl 文件已更改。

当我下载 JAR 文件并检查包含的依赖项的内容时,没有更新的 cdm.dwl 文件,因此 Azure devops 不会更新缓存。

当我删除管道 yaml 文件中的 Cache@2 任务时,完全没有问题。

我怎样才能解决这个问题 ?

【问题讨论】:

    标签: java maven azure-devops azure-pipelines


    【解决方案1】:

    感谢我的一位同事,我找到了解决此问题的方法: 在上面的脚本中更改此行:

    goals: 'deploy'
    

    在这一行:

    goals: 'deploy -U'
    

    将完成这项工作,因为它强制 Maven 更新依赖项。

    【讨论】:

      猜你喜欢
      • 2021-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-18
      • 2020-10-06
      • 2021-01-15
      • 2019-12-20
      相关资源
      最近更新 更多