0

https://docs.microsoft.com/azure/devops/pipelines/ecosystems/android

pool:

vmImage: 'macos-latest

steps:

 -task: Bash@3
 - displayName: Check for skippable builds
   inputs:
     targetType: 'inline'
     script: |
       if  [ -z $(apk_flavor_prod) ]
       then
             echo "##vso[task.setvariable variable=skip_prod]true"
       else
             echo "##vso[task.setvariable variable=skip_prod]false"
       fi
       if  [ -z $(apk_flavor_uat) ]
       then
            echo "##vso[task.setvariable variable=skip_uat]true"
      else
            echo "##vso[task.setvariable variable=skip_uat]false"
      fi
      if  [ -z $(apk_flavor_staging) ]
      then
            echo "##vso[task.setvariable variable=skip_staging]true"
      else
            echo "##vso[task.setvariable variable=skip_staging]false"
      fi
- task: MavenAuthenticate@0
  displayName: 'Maven Authenticate'
  inputs:
    artifactsFeeds: HorizonAndroidSDK
- task: Gradle@2
  displayName: Build production
  condition: and(in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues', 'Failed'), eq(variables['skip_prod'], false))
  inputs:
workingDirectory: '$(system.defaultWorkingDirectory)/OpenOrderBook_Android'
gradleWrapperFile: '$(system.defaultWorkingDirectory)/OpenOrderBook_Android/gradlew'
gradleOptions: '-Xmx3072m'
tasks: 'assemble$(apk_flavor_prod)'
publishJUnitResults: false
javaHomeOption: 'JDKVersion'
jdkVersionOption: '17'
jdkArchitectureOption: 'x64'
sonarQubeRunAnalysis: false

  • task: Gradle@2 displayName: Build UAT condition: and(in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues', 'Failed'), eq(variables['skip_uat'], false)) inputs: workingDirectory: '$(system.defaultWorkingDirectory)/OpenOrderBook_Android' gradleWrapperFile: '$(system.defaultWorkingDirectory)/OpenOrderBook_Android/gradlew' gradleOptions: '-Xmx3072m' tasks: 'assemble$(apk_flavor_uat)' publishJUnitResults: false javaHomeOption: 'JDKVersion' jdkVersionOption: '17' jdkArchitectureOption: 'x64' sonarQubeRunAnalysis: false

  • task: Gradle@2 displayName: Build staging condition: and(in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues', 'Failed'), eq(variables['skip_staging'], false)) inputs: workingDirectory: '$(system.defaultWorkingDirectory)/OpenOrderBook_Android' gradleWrapperFile: '$(system.defaultWorkingDirectory)/OpenOrderBook_Android/gradlew' gradleOptions: '-Xmx3072m' tasks: 'assemble$(apk_flavor_staging)' publishJUnitResults: false javaHomeOption: 'JDKVersion' jdkVersionOption: '17' jdkArchitectureOption: 'x64' sonarQubeRunAnalysis: false

  • task: CopyFiles@2 displayName: Copy files to artifacts directory condition: succeededOrFailed() inputs: contents: '*/.apk' targetFolder: '$(build.artifactStagingDirectory)'

  • task: PublishBuildArtifacts@1 condition: succeededOrFailed() displayName: Publish Artifacts

'So when I deploy this in my azure devops using gradle for my android build, it runs very slow esp in the production build which can take up to half an hour and also in 'Build UAT' and 'Build staging'. Now I know there is a gradle 3 but can anyone look at my code and make any recommendations as to how I can deploy this faster as takes forever etc. `

0 Answers0