-
Notifications
You must be signed in to change notification settings - Fork 0
/
demoionic-gradle-andriod-sing.yaml
81 lines (64 loc) · 2.43 KB
/
demoionic-gradle-andriod-sing.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
##demoionic-gradle-andriod-sing
# Starter pipeline
# Start with a minimal pipeline that you can customize to build and deploy your code.
# Add steps that build, run tests, deploy, and more:
# https://aka.ms/yaml
pool:
vmImage: ubuntu-latest
steps:
- task: DownloadPipelineArtifact@2
inputs:
buildType: 'specific'
project: '2c56efb1-2ee3-47ac-89c3-8f945274c695'
definition: '18'
buildVersionToDownload: 'latest'
allowPartiallySucceededBuilds: true
targetPath: '$(Build.BinariesDirectory)'
- task: JavaToolInstaller@0
inputs:
versionSpec: '8'
jdkArchitectureOption: 'x64'
jdkSourceOption: 'PreInstalled'
- task: Bash@3
inputs:
targetType: 'inline'
script: 'mv $(Build.BinariesDirectory)/www $(System.DefaultWorkingDirectory)'
- task: Bash@3
displayName: "install gradle 7.1.1"
inputs:
targetType: 'inline'
script: |
wget https://services.gradle.org/distributions/gradle-7.1.1-bin.zip -P /tmp
sudo unzip -d /opt/gradle /tmp/gradle-*.zip
sudo touch /etc/profile.d/gradle.sh
echo 'export GRADLE_HOME=/opt/gradle/gradle-6.4.1' >> /etc/profile.d/gradle.sh
echo 'export PATH=${GRADLE_HOME}/bin:${PATH}' >> /etc/profile.d/gradle.sh
gradle -v
- bash: | # Installing cordova
sudo npm i -g cordova@9.0.0
displayName: 'npm i -g cordova@latest'
- bash: | # Build android App using cordova
npx ionic cordova build android --no-build --release --minSdkVersion=21
displayName: 'ionic cordova build android --no-build --release'
# Needed to solve missing dependency problem, see the troubleshooting topic
- bash: |
sudo apt-get install lib32z1
displayName: 'sudo apt-get install lib32z1'
- task: AndroidSigning@3
inputs:
apkFiles: '**/*.apk'
apksignerKeystoreFile: 'apptest.keystore'
apksignerKeystoreAlias: 'apptest'
apksignerKeyPassword: 'maestro1.'
apksignerKeystorePassword: 'maestro1.'
- task: CopyFiles@2 # Copies all .apk files to publish
displayName: 'copy **/outputs/apk/release/app*.apk to $(Build.BinariesDirectory)'
inputs:
SourceFolder: '$(System.DefaultWorkingDirectory)'
Contents: '**/outputs/apk/release/app*.apk'
CleanTargetFolder: true
TargetFolder: '$(Build.BinariesDirectory)'
flattenFolders: true
- publish: '$(Build.BinariesDirectory)' # Publish artifact
artifact: 'android-app'
displayName: 'publish artifact'