Adding the License Key to CI/CD Services
This article describes how to set up and activate your Telerik UI for ASP.NET MVC license across a few popular CI/CD services by using deployment keys.
Deployment keys are a dedicated type of license key for build pipelines. They are tied to a specific application and the set of products that the application uses. Deployment keys cannot be used for application development.
Developer license keys remain valid for CI/CD deployments, so existing pipelines do not need to be updated. For new pipelines, we recommend using deployment keys. For more information, see the differences between developer license keys and deployment keys.
To activate your license in a CI/CD environment:
- Navigate to the Deployment Keys page.
- Click Add Application. In the form that opens:
- Add the application name.
- Select the type of application—public or private.
- Select the set of products used in the application.
- Copy the key value and store it securely.
- Create an environment variable named
TELERIK_LICENSEand set it to the obtained key value. Alternatively, store the key in atelerik-license.txtfile, for example, when using the Azure secure files approach.
Treat the deployment key and the license file as secrets. Always store and retrieve them securely according to the build platform's best practices.
Creating an Environment Variable
The recommended approach for providing your license key to the Telerik.Licensing NuGet package is to use environment variables. Each CI/CD service has a different process for setting environment variables. This article lists examples for some of the most popular services.
If your CI/CD service is not listed in this article, contact Telerik technical support.
GitHub Actions
- Create a new Repository Secret or Organization Secret.
- Set the name of the secret to
TELERIK_LICENSEand paste the deployment key value into the secret. - After running
npm installoryarn, add a build step to activate the license:
env:
TELERIK_LICENSE: ${{ secrets.TELERIK_LICENSE }}
In a complete CI/CD workflow, you also need to set up NuGet package restoration authentication using TELERIK_NUGET_KEY. See Restoring NuGet Packages in Your CI Workflow for details.
Azure Pipelines
- Create a new secret variable named
TELERIK_LICENSE. - Paste the deployment key as its value.
Using Secure Files on Azure DevOps
Secure files are an alternative for sharing the deployment key file in Azure Pipelines without the size limitations of environment variables.
You have two options for the file-based approach:
- Set the
TELERIK_LICENSE_PATHvariable to the full path of the license file. - Add a file named
telerik-license.txtto the project directory or a parent directory.
Make sure that you reference Telerik.Licensing version 1.4.10 or later.
YAML Pipeline
With a YAML pipeline, use the DownloadSecureFile@1 task, then use $(name.secureFilePath) to reference it. For example:
steps:
- task: DownloadSecureFile@1
name: DownloadTelerikLicenseFile
displayName: 'Download Telerik License Key File'
inputs:
secureFile: 'telerik-license.txt'
- task: MSBuild@1
displayName: 'Build Project'
inputs:
solution: 'myapp.csproj'
platform: 'Any CPU'
configuration: 'Release'
msbuildArguments: '/p:RestorePackages=false'
env:
TELERIK_LICENSE_PATH: $(DownloadTelerikLicenseFile.secureFilePath)
Classic Pipeline
With a classic pipeline, add a Download secure file task and a PowerShell script to set TELERIK_LICENSE_PATH to the secure file path.
-
Add a “Download secure file” task and set the output variable's name to telerikLicense.

-
Add a PowerShell task and set the
TELERIK_LICENSE_PATHvariable to thesecureFilePathproperty of the output variable:
The script to set the environment variable is quoted below:
Write-Host "Setting TELERIK_LICENSE_PATH to $(telerikLicense.secureFilePath)"
Write-Host "##vso[task.setvariable variable=TELERIK_LICENSE_PATH;]$(telerikLicense.secureFilePath)"
Alternatively, copy the file into the repository directory:
Write-Host "Copying $(telerikLicense.secureFilePath) to $(Build.Repository.LocalPath)/telerik-license.txt"
Copy-Item -Path $(telerikLicense.secureFilePath) -Destination "$(Build.Repository.LocalPath)/telerik-license.txt"