forked from MyGrades/mygrades-app
-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
azure-pipelines.yml
115 lines (101 loc) · 3.17 KB
/
azure-pipelines.yml
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# Android
# Build your Android project with Gradle.
# Add steps that test, sign, and distribute the APK, save build artifacts, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/android
trigger:
branches:
include:
- master
paths:
include:
- app/*
- gradle/*
- metadata/*
- azure-pipelines.yml
- build.gradle
- gradle.properties
- gradlew
- gradlew.bat
- settings.gradle
jobs:
- job: bundle
displayName: 'Build bundle'
pool:
vmImage: 'macos-latest'
steps:
- task: Gradle@2
displayName: 'build bundle'
inputs:
gradleWrapperFile: 'gradlew'
tasks: 'bundleRelease'
publishJUnitResults: false
testResultsFiles: '**/TEST-*.xml'
javaHomeOption: 'JDKVersion'
gradleOptions: '-Xmx3072m'
sonarQubeRunAnalysis: false
- task: AndroidSigning@2
displayName: 'sign bundle'
inputs:
apkFiles: '**/*.aab'
jarsign: true
jarsignerKeystoreFile: 'mygradesreloaded.jks'
jarsignerKeystorePassword: '$(jarsignerKeyPassword)'
jarsignerKeystoreAlias: 'mygradesreloaded.upload'
jarsignerKeyPassword: '$(jarsignerKeyPassword)'
jarsignerArguments: '-sigalg SHA256withRSA -digestalg SHA-256'
zipalign: true
- task: CopyFiles@2
inputs:
SourceFolder: $(Build.SourcesDirectory)
contents: '**/*.aab'
targetFolder: '$(build.artifactStagingDirectory)'
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: '$(Build.ArtifactStagingDirectory)/app/build/outputs/bundle/release'
artifactName: 'bundle-files'
artifactType: 'container'
- task: CopyFiles@2
inputs:
SourceFolder: $(Build.SourcesDirectory)
contents: 'metadata/**'
targetFolder: '$(build.artifactStagingDirectory)'
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: '$(Build.ArtifactStagingDirectory)/metadata/android'
artifactName: 'metadata-files'
artifactType: 'container'
- job: apk
displayName: 'Build APK'
pool:
vmImage: 'macos-latest'
steps:
- task: Gradle@2
displayName: 'build apk'
inputs:
gradleWrapperFile: 'gradlew'
tasks: 'assembleRelease'
publishJUnitResults: false
testResultsFiles: '**/TEST-*.xml'
javaHomeOption: 'JDKVersion'
gradleOptions: '-Xmx3072m'
sonarQubeRunAnalysis: false
- task: AndroidSigning@2
displayName: 'sign apk'
inputs:
apkFiles: '**/*.apk'
jarsign: true
jarsignerKeystoreFile: 'mygradesreloaded.jks'
jarsignerKeystorePassword: '$(jarsignerKeyPassword)'
jarsignerKeystoreAlias: 'mygradesreloaded.upload'
jarsignerKeyPassword: '$(jarsignerKeyPassword)'
zipalign: true
- task: CopyFiles@2
inputs:
SourceFolder: $(Build.SourcesDirectory)
contents: '**/*.apk'
targetFolder: '$(build.artifactStagingDirectory)'
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: '$(Build.ArtifactStagingDirectory)/app/build/outputs/apk/release/'
artifactName: 'apk-files'
artifactType: 'container'