Build Environment variables
Important
Visual Studio App Center is scheduled for retirement on March 31, 2025. While you can continue to use Visual Studio App Center until it is fully retired, there are several recommended alternatives that you may consider migrating to.
Environment variables help manage your build script tasks. You can call pre-defined variables or create your own.
Pre-Defined variables
General variables | Description |
---|---|
APPCENTER_BUILD_ID |
The unique identifier for the current build |
APPCENTER_BRANCH |
Name of the branch that's being built from |
APPCENTER_SOURCE_DIRECTORY |
Location of the source code on the build machine |
APPCENTER_OUTPUT_DIRECTORY |
Location where the build results are stored in |
APPCENTER_TRIGGER |
What triggered the build, was it manual or continuous by push |
iOS specific |
|
APPCENTER_XCODE_PROJECT |
Selected Xcode project |
APPCENTER_XCODE_SCHEME |
Selected Xcode scheme |
Android specific |
|
APPCENTER_ANDROID_VARIANT |
Selected Android variant |
APPCENTER_ANDROID_MODULE |
Selected Android module |
UWP specific |
|
APPCENTER_UWP_SOLUTION |
Selected solution |
APPCENTER_UWP_CONFIGURATION |
Selected configuration |
Xamarin specific |
|
APPCENTER_XAMARIN_PROJECT |
Selected project |
APPCENTER_XAMARIN_CONFIGURATION |
Selected configuration |
React Native specific |
|
APPCENTER_REACTNATIVE_PACKAGE |
Selected package |
Variables declared in Build Configuration
Custom environment variables allow you to define sensitive information that's required for your build without checking them into your repository. You can create your environment variables in the build configuration and use them in your build. For example, to access an API key, a webhook token, or other secrets.
Note
'Platform' is reserved from use as an environment variable.
Encrypting variables
Values of variables are encrypted by clicking on the lock icon, which obfuscates them in the build configuration & logs. Encrypted values aren't editable once they're saved, but they can be deleted & re-created.
Non-encrypted values can be encrypted at any time.
Access the variables
Pre-set environment variables can be consumed during the build process. Depending on the toolset you're using, the syntax is different.
Note
The correct way to consume environment variables depends on the toolchain used.
Build scripts
In the build scripts, you can access the variables with the following syntax depending on whether you're using Bash or PowerShell.
Bash
$ENVIRONMENT_VARIABLE
PowerShell
$env:ENVIRONMENT_VARIABLE
NuGet.Config for Xamarin or UWP
If you're building a Xamarin or UWP app, you might want to connect to a private NuGet feed, which requires authentication. In the NuGet.Config
file, you can consume the variables you've defined. For more details about the usage of credentials in your NuGet.Config
file, read the reference documentation.
<packageSourceCredentials>
<MyAuthNuget>
<add key="Username" value="%USER_VARIABLE%" />
<add key="ClearTextPassword" value="%PASSWORD_VARIABLE%" />
</MyAuthNuget>
</packageSourceCredentials>
build.gradle (app level) for Android
For Android apps, you can access your variables in the build.gradle (app level) config. For more details, read the Gradle Tips and Recipes documentation.
buildConfigField("String", "API_KEY", "\"${System.env.API_KEY}\"")