Visual Studio Team Services Extension for the Apple App Store Provides build/release tasks that enable performing continuous delivery to Apple's App Store from an automated VSTS build or release definition Install now! |
This extension contains a set of deployment tasks which allow you to automate the release and promotion of app updates to Apple's App Store from your CI environment. This can reduce the effort needed to keep your beta and production deployments up-to-date, since you can simply push changes to the configured source control branches, and let your automated build take care of the rest.
- In order to automate the release of app updates to the App Store, you need to have manually released at least one version of the app beforehand.
- The tasks install and use fastlane tools. Fastlane requires Ruby 2.0.0 or above and recommends having the latest Xcode command line tools installed on the MacOS computer.
Once you have created or retrieved credentials for your App Store account, then perform the following steps to automate releasing updates from a VSTS build or release definition:
-
Install the App Store extension from the VSTS Marketplace
-
Go to your Visual Studio Team Services or TFS project, click on the Build tab, and create a new build definition (the "+" icon) that is hooked up to your project's appropriate source repo
-
Click Add build step... and select the neccessary tasks to generate your release assets (e.g. Gulp, Cordova Build)
-
Click Add build step... and select App Store Release from the Deploy category
-
Configure the App Store Release task with the desired authentication method, the generated IPA file path, and the desired release track.
-
Click the Queue Build button or push a change to your configured repo in order to run the newly defined build pipeline
-
Your app changes will now be automatically published to the App Store!
In addition to specifying your publisher credentials directly within each build task, you can also configure your credentials globally and refer to them within each build or release definition as needed. To do this, perform the following steps:
-
Setup an Apple developer account (https://developer.apple.com/)
-
Go into your Visual Studio Team Services or TFS project and click on the gear icon in the upper right corner
-
Click on the Services tab
-
Click on New Service Endpoint and select Apple App Store
-
Give the new endpoint a name and enter the credentials for the developer account you generated in step#1.
-
Select this endpoint via the name you chose in #5 whenever you add either the App Store Release or App Store Promote tasks to a build or release definition
In addition to the custom service endpoint, this extension also contributes the following build and release tasks:
-
App Store Release - Allows automating the release of updates to existing iOS TestFlight beta apps or production apps in the App Store.
-
App Store Promote - Allows automating the promotion of a previously submitted app from iTunes Connect to the App Store.
Allows you to release updates to your iOS TestFlight beta app or production app on the App Store, and includes the following options:
-
Username and Password or Service Endpoint - The credentials used to authenticate with the App Store. Credentials can be typed in directly or configured via a service endpoint that can be referenced from the task (via the
Service Endpoint
authentication method). -
Bundle ID (String, Required) - Unique app identifier (e.g. com.myapp.etc).
-
Binary Path (File path, Required) - Path to the IPA file you want to publish to the specified track.
Track (String, Required) - Release track to publish the binary to (e.g. TestFlight
or Production
).
-
What to Test? (File path) - Path to the file containing notes on what to test for this release.
-
Skip Build Processing Wait (Checkbox) - Skip waiting for App Store to finish the build processing.
-
Skip Submission (Checkbox) - Upload a beta app without distributing to the testers.
-
Skip Binary Upload (Checkbox) - Skip binary upload and only update metadata and screenshots.
-
Upload Metadata (Checkbox) - Upload app metadata to the App Store (e.g. title, description, changelog).
-
Metadata Path (File path) - Path to the metadata to publish.
-
Upload Screenshots (Checkbox) - Upload screenshots of the app to the App Store.
-
Screenshots Path (File path) - Path to the screenshots to publish.
-
Submit for Review (Checkbox) - Automatically submit the new version for review after the upload is completed.
-
Release Automatically (Checkbox) - Automatically release the app once it is approved.
-
Team Id (String) - The ID of the producing team. Only necessary when in multiple teams.
-
Team Name (String) - The name of the producing team. Only necessary when in multiple teams.
Allows you to promote an app previously updated to iTunes Connect to the App Store, and includes the following options:
-
Username and Password or Service Endpoint - The credentials used to authenticate with the App Store. Credentials can be typed in directly or configured via a service endpoint that can be referenced from the task (via the
Service Endpoint
authentication method). -
Bundle ID (String, required) - The unique identifier for the app to be promoted.
-
Choose Build -
Latest
orSpecify build number
. By default the latest build will be submitted for review. -
Build Number - Required if
Specify build number
option is selected in #3 above. The build number in iTunes Connect that you wish to submit for review. -
Release Automatically (Checkbox) - Check to automatically release the app once the approval process is completed.
-
Team Id (String) - The ID of the producing team. Only necessary when in multiple teams.
-
Team Name (String) - The name of the producing team. Only necessary when in multiple teams.
fastlane tools uses the iTunes Transporter to upload metadata and binaries. In case you are behind a firewall, you can specify a different transporter protocol injecting in your release definition a variable:
DELIVER_ITMSTRANSPORTER_ADDITIONAL_UPLOAD_PARAMETERS="-t DAV"
Apple and the Apple logo are trademarks of Apple Inc., registered in the U.S. and other countries. App Store is a service mark of Apple Inc.