Created
November 27, 2020 03:19
-
-
Save karm435/f3a8cca2d531785d333f9659035a93c3 to your computer and use it in GitHub Desktop.
Android build
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Starter pipeline | |
parameters: | |
- name: keystoreFileName | |
displayName: "The keystore file name for signing the apk" | |
type: string | |
- name: keystorePassword | |
displayName: "Password for the keystore" | |
type: string | |
- name: keyAlias | |
displayName: "key alias" | |
type: string | |
- name: keyPassword | |
displayName: "Key password" | |
type: string | |
- name: artifactName | |
displayName: "Name of the artifact" | |
type: string | |
- name: environment | |
displayName: "Ionic Build environment" | |
type: string | |
- name: gradleTasks | |
displayName: "Gradle tasks for build: possible values: assembleRelease(for prod), staging" | |
type: string | |
- name: buildType | |
displayName: "Custom Build type, possible values: staging, release(for prod)" | |
type: string | |
- name: googleServiceFilePath | |
displayName: "Google services file" | |
type: string | |
steps: | |
- template: ionic-build.yml | |
parameters: | |
environment: "${{ parameters.environment }}" | |
- script: npx cap sync android | |
displayName: 'Sync android' | |
- task: DownloadSecureFile@1 | |
name: googleServicesFile | |
displayName: 'google services File' | |
inputs: | |
secureFile: '${{ parameters.googleServiceFilePath }}' | |
- script: | | |
echo googleServicesFile downloaded to $(googleServicesFile.secureFilePath) | |
mv $(googleServicesFile.secureFilePath) android/app/google-services.json | |
displayName: 'Copy google service file' | |
- task: UpdateAndroidVersionGradle@1 | |
inputs: | |
buildGradlePath: 'android/app/build.gradle' | |
versionCode: '$(Build.BuildID)' | |
versionName: '$(VersionName)' | |
- task: Gradle@2 | |
inputs: | |
workingDirectory: $(system.defaultWorkingDirectory)/android | |
gradleWrapperFile: '$(system.defaultWorkingDirectory)/android/gradlew' | |
gradleOptions: '-Xmx3072m' | |
publishJUnitResults: false | |
tasks: ${{ parameters.gradletasks }} | |
displayName: 'build android project' | |
- task: AndroidSigning@3 | |
displayName: 'Sign the apk' | |
inputs: | |
apkFiles: '**/app*.apk' | |
apksign: true | |
apksignerKeystoreFile: '${{ parameters.keystoreFileName }}' | |
apksignerKeystorePassword: '${{ parameters.keystorePassword }}' | |
apksignerKeystoreAlias: '${{ parameters.keyAlias }}' | |
apksignerKeyPassword: '${{ parameters.keyPassword }}' | |
apksignerArguments: --out $(Build.SourcesDirectory)/android/app/build/outputs/apk/${{ parameters.buildType }}/TodoApp.release.apk --verbose | |
zipalign: true | |
- publish: $(Build.SourcesDirectory)/android/app/build/outputs/apk/${{ parameters.buildType }} | |
artifact: '${{ parameters.artifactName }}' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment