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. `