Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Azure Pipeline iOS
pool:
vmImage: 'macos-latest'
variables:
- group: 'MYAPP_VARIABLE_GROUP'
- name: BUILD_CONFIGURATION
value: 'myAppReleaseQA'
- name: 'WORKSPACE_PATH'
value: './myApp.xcworkspace'
- name: SCHEME
value: 'myAppReleaseQA'
- name: IPA_EXPORT_PATH
value: 'build'
- name: EXPORT_OPTIONS_PLIST_NAME
value: 'EXPORT_OPTIONS.plist'
- name: BUNDLE_IDENTIFIER
value: 'com.rcaos.company'
steps:
- task: CocoaPods@0
displayName: 'Downloading dependencies using CocoaPods with a forced repo update'
inputs:
workingDirectory: './'
forceRepoUpdate: true
- task: InstallAppleCertificate@2
inputs:
certSecureFile: $(CERTIFICATE_FILE_NAME)
certPwd: $(CERTIFICATE_PASSWORD)
- task: InstallAppleProvisioningProfile@1
displayName: 'Installing Apple Provisioning Profile from Secure Files'
inputs:
provisioningProfileLocation: 'secureFiles'
provProfileSecureFile: $(PROVISIONING_FILE_NAME)
removeProfile: false
- task: Xcode@5
inputs:
actions: 'build'
configuration: $(BUILD_CONFIGURATION)
scheme: $(SCHEME)
sdk: 'iphoneos'
packageApp: true
archivePath: $(IPA_EXPORT_PATH)
exportPath: $(IPA_EXPORT_PATH)
exportOptions: plist
exportOptionsPlist: './$(EXPORT_OPTIONS_PLIST_NAME)'
xcWorkspacePath: $(WORKSPACE_PATH)
- task: CopyFiles@2
displayName: 'Copying IPA to Artifacts Directory'
inputs:
Contents: '$(IPA_EXPORT_PATH)/*.ipa'
TargetFolder: '$(Build.artifactStagingDirectory)'
- task: PublishBuildArtifacts@1
displayName: 'Uploading IPA for the Currenet Run'
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'GeneratedIPA'
publishLocation: 'Container'
- task: AppStoreRelease@1
displayName: 'Releasing build to TestFlight'
inputs:
serviceEndpoint: 'App Store Connect - MyApp'
appIdentifier: '$(BUNDLE_IDENTIFIER)'
appType: 'iOS'
ipaPath: '$(Build.artifactStagingDirectory)/**/*.ipa'
releaseTrack: 'TestFlight'
releaseNotes: 'Azure Pipelines'
shouldSkipWaitingForProcessing: true
teamName: '$(TEAM_NAME)'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment