【问题标题】:Azure DevOps distribute android app via appcenter not distributingAzure DevOps 通过 appcenter 分发 android 应用程序而不是分发
【发布时间】:2020-10-21 22:43:24
【问题描述】:

我有一个在 Azure Devops 上构建的 react 本机应用,好的,

现在要创建分发,它在“作业”上显示一个灰色箭头,我找不到分发的应用程序,

Result: False 是什么?

这里是yaml

trigger:
- master

pool:
  vmImage: 'macOS-10.14'

variables:
  - group: AndroidKeystore

steps:
- task: NodeTool@0
  displayName: 'Install Node'
  inputs:
    versionSpec: '12.16.1'

- script: npm install
  displayName: 'Install node dependencies'

- script: |
    npm i jetifier
    npx jetify
  displayName: 'npx'

- script: |
    rm -r android/app/src/main/res/drawable-*
    rm -r android/app/src/main/res/raw
  displayName: 'delete before'

- task: Gradle@2
  inputs:
    workingDirectory: 'android'
    gradleWrapperFile: 'android/gradlew'
    gradleOptions: '-Xmx3072m'
    publishJUnitResults: false
    testResultsFiles: '**/TEST-*.xml'
    tasks: 'assembleRelease'

- task: AndroidSigning@3
  inputs:
    apkFiles: '**/*.apk'
    apksign: true
    apksignerKeystoreFile: 'my-release-key.keystore'
    apksignerKeystorePassword: '$(jarsignerKeystorePassword)'
    apksignerKeystoreAlias: 'my-key-alias'
    apksignerKeyPassword: '$(jarsignerKeyPassword)'



- script: mv android/app/build/outputs/apk/release/app-release.apk ReactNativePipeline$(Build.BuildNumber).apk
  displayName: 'Rename apk'

- task: PublishBuildArtifacts@1
  inputs:
    pathtoPublish: ReactNativePipeline$(Build.BuildNumber).apk
    artifactName: drop
    publishLocation: 'container'

- task: AppCenterDistribute@3
  displayName: "Create a release on App Center"
  condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'))
  inputs:
    serverEndpoint: 'VSAC'
    appSlug: 'Wisr/WisrRN-Android2'
    appFile: 'ReactNativePipeline$(Build.BuildNumber).apk'
    releaseNotesOption: 'input'
    releaseNotesInput: |
      $(Build.SourceVersionMessage)
      
      latest source: '$(Build.SourceVersion)'
      
      An automated release from Azure DevOps
    destinationType: 'groups'
    distributionGroupId: 'testBench'

那么如何使构建在特定组“testBench”上可用

【问题讨论】:

  • 嗨@manuelBetancurt。这张票有更新吗?如果答案能给你一些帮助,请随时告诉我。只是提醒this

标签: android azure-devops visual-studio-app-center


【解决方案1】:

什么是结果:假?

这是条件的结果。从任务日志看,Build.SourceBranch 是refs/heads/androidPipe

refs/heads/androidPipe eq refs/heads/master  Result: false

在您的 Yaml 示例中,条件设置:

condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'))

这意味着当Build.SourceBranch 是master 时,它将运行AppCenterDistribute 任务。或者它不会运行任务(跳过任务)。

这里有两种方法可以解决这个问题:

1.你可以改变条件:

condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/androidPipe'))

2.您可以使用 ma​​ster 分支来运行管道。然后任务就会执行。

顺便说一句,如果你不需要这个条件,你也可以删除它。这样的话,不管是哪个分支,这个任务都会运行。

更多详细信息,您可以参考this doc关于Condition。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-01
    • 1970-01-01
    • 2018-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多