【问题标题】:Azure devops can not publish Apk androidAzure devops 无法发布 Apk android
【发布时间】:2021-11-30 18:03:37
【问题描述】:

这里是 azure DevOps 的新手,尝试设置 ci/cd 以在示例 android 应用上进行测试。 我有以下 azure-pipelines.yml

    trigger:
- master

pool: default
variables:
  - name: 'apkFilePath'
    value: '**/*debug*.apk'

steps:
- task: Gradle@2
  inputs:
    workingDirectory: ''
    gradleWrapperFile: 'gradlew'
    gradleOptions: '-Xmx3072m'
    publishJUnitResults: false
    testResultsFiles: '**/TEST-*.xml'
    tasks: 'assembleDebug'
- task: CopyFiles@2
  displayName: "Copy files"
  continueOnError: false
  inputs:
    Contents: ${apkFilePath}
    targetFolder: '$(Build.ArtifactStagingDirectory)'
- task: PublishBuildArtifacts@1
  continueOnError: false
  displayName: "Publish to azure"
  inputs:
     PathtoPublish: '$(Build.ArtifactStagingDirectory)'
     ArtifactName:   'debug'

当我运行管道时,我在 publishBuildArtifacts 步骤中收到警告 ##[警告]目录“/Users/XXXX/Desktop/myagent/_work/2/a”为空。不会添加任何内容来构建工件“调试”。

我猜文件没有被复制到“$(Build.ArtifactStagingDirectory)”,但我无法理解为什么?

任何帮助将不胜感激

【问题讨论】:

    标签: android azure azure-devops


    【解决方案1】:

    我没有发现 yaml 文件有任何错误。您得到的错误一定是由于 apkFilePath。如果您检查 Microsoft 的 Copy File Task 文档,您会发现 Contents 是作为副本的一部分包含的必需的文件路径。它支持多行匹配模式,如下所示。

    • * 复制指定源文件夹中的所有文件。
    • ** 复制指定源文件夹中的所有文件和所有子文件夹中的所有文件。
    • **\bin\** 以递归方式从任何 bin 文件夹复制所有文件。

    请记住,该模式用于仅匹配文件路径,而不匹配文件夹路径。尝试使用以下 yaml sn -p 将 .apk 文件从源代码复制到工件目录。

    - task: CopyFiles@2
      displayName: 'Copy Files'
      inputs:
        SourceFolder: 'MobileApp/SourceCode -Android' 
        Contents: '**/*.apk'
        TargetFolder: '$(build.artifactStagingDirectory)'
    

    - task: CopyFiles@2
    - displayName: 'Copy Files'
      inputs:
        SourceFolder: $(Build.SourcesDirectory) //optional
        contents: '**/*.debug.apk'
        targetFolder: '$(build.artifactStagingDirectory)'
    

    SourceFolder 是包含您要复制的文件的文件夹。如果您将其留空,则从 repo 的根文件夹完成复制(就像您指定了 $(Build.SourcesDirectory)

    查看这些Build an Android Mobile Application Using Azure DevOpsHow to build and sign your Android application using Azure DevOps 文档以获取更多信息。另请查看堆栈溢出中发布的类似issue 以了解更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-01
      • 2020-01-18
      • 2021-08-01
      • 2016-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多