Open ductranit opened 3 years ago
@ductranit
- develop
name: $(Date:yyyyMMdd)$(Rev:r)
variables:
FlutterChannel: 'stable'
FlutterVersion: 'latest'
ProjectDirectory: '$(Build.SourcesDirectory)'
Flavor: 'dev'
BuildNumber: '$(Build.BuildNumber)'
BuildMessage: '$(Build.SourceVersionMessage)'
BuildAndroidDirectory: '$(ProjectDirectory)/build/app/outputs/flutter-apk/app-$(Flavor)-release.apk'
BuildIOSDirectory: '$(ProjectDirectory)/build/ios/App-$(Build.BuildNumber)/appname.ipa'
jobs:
- job: Mobile
variables:
- group: inf-android
- group: inf-ios
steps:
- task: FlutterInstall@0
displayName: 'FlutterInstall'
inputs:
channel: 'stable'
- task: CmdLine@2
displayName: '[Flutter] doctor'
inputs:
script: |
$(FlutterToolPath)/flutter config --android-sdk /Users/testuser/Library/Android/Sdk
$(FlutterToolPath)/flutter doctor
- task: CmdLine@2
displayName: Run install
inputs:
script: |
$(FlutterToolPath)/flutter pub get
- task: InstallAppleCertificate@2
inputs:
certSecureFile: 'infCert.p12'
certPwd: $(p12password)
keychain: 'temp'
deleteCert: true
- task: InstallAppleProvisioningProfile@1
inputs:
provisioningProfileLocation: 'secureFiles'
provProfileSecureFile: 'testapp.mobileprovision'
removeProfile: true
- task: FlutterBuild@0
displayName: 'Build IOS'
inputs:
target: "ios"
buildFlavour: "dev"
buildNumber: '$(Build.BuildNumber)'
buildName: $(buildName)
- task: Bash@3
displayName: 'Prepare an App Store package'
inputs:
targetType: 'inline'
script: |
xcodebuild -workspace ios/Runner.xcworkspace -scheme dev -sdk iphoneos -configuration Release-dev archive -archivePath build/ios/Runner.xcarchive
xcodebuild -exportArchive -archivePath build/ios/Runner.xcarchive -exportOptionsPlist ci/ExportOptions.plist -exportPath build/ios/App-$(Build.BuildNumber)
- task: FlutterBuild@0
displayName: 'Build Android'
inputs:
target: "apk"
projectDirectory: '$(ProjectDirectory)'
buildFlavour: "dev"
- task: CopyFiles@2
displayName: 'Copy IOS'
inputs:
sourceFolder: '$(Build.SourcesDirectory)'
contents: '$(BuildIOSDirectory)'
targetFolder: '$(Build.ArtifactStagingDirectory)'
- task: CopyFiles@2
displayName: 'Copy Android'
inputs:
sourceFolder: '$(Build.SourcesDirectory)'
contents: '$(BuildAndroidDirectory)'
targetFolder: '$(Build.ArtifactStagingDirectory)'
- task: PublishBuildArtifacts@1
inputs:
pathToPublish: '$(Build.ArtifactStagingDirectory)'
artifactName: drop
Hi there, I wonder is there any complete example that run pipeline from build github repo to deploy into playtore & apple store? I tried to use google play and apple store extensions It's very hard for me to set it up because I can't find any fully document about it. Here is my try with ios build first:
At the moment I have trouble on the CopyFiles task, it says
found 0 files
. And the problem is that I don't know whether I'm doing correctly or not. Is there anyone that succeeded to publish into playstore & apple store with azure pipeline? Can you please share the yml setup? Thanks!