New to Telerik Document Processing? Download free 30-day trial

Adding the License Key to CI Services

This article describes how to set up and activate your license key across a few popular CI services by using environment variables.

The license activation process in a CI/CD environment involves the following steps:

  1. Download a license key from your Telerik account.
  2. Create an environment variable named TELERIK_LICENSE and add your license key as a value. Alternatively, use the Azure Secure files approach.

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 platform has a different process for setting environment variables and this article lists only some of the most popular examples.

If your CI/CD service is not listed in this article, don’t hesitate to contact the Telerik technical support.

GitHub Actions

  1. Create a new Repository Secret or an Organization Secret.
  2. Set the name of the secret to TELERIK_LICENSE and paste the contents of the license file as a value.
  3. After running npm install or yarn, add a build step to activate the license:
env:
    TELERIK_LICENSE: $

Azure Pipelines

  1. Create a new secret variable named TELERIK_LICENSE.
  2. Paste the contents of the license key file as a value.

Always consider the Variable size limit—if you are using a Variable Group, the license key will typically exceed the character limit for the variable values. The only way to have a long value in the Variable Group is to link it from Azure Key Vault. If you cannot use a Key Vault, then use a normal pipeline variable instead (see above) or use the Secure files approach instead.

Using Secure Files on Azure DevOps

Secure files are an alternative approach for sharing the license key file in Azure Pipelines that does not have the size limitations of environment variables.

You have two options for the file-based approach. Set the TELERIK_LICENSE_PATH variable or add a file named telerik-license.txt to the project directory or a parent directory.

Make sure you’re referencing Telerik.Licensing v1.4.10 or later.

YAML Pipeline

With a YAML pipeline, you can use the DownloadSecureFile@1 task, then use $(name.secureFilePath) to reference it. For example:

- task: DownloadSecureFile@1
    name: DownloadTelerikLicenseFile # defining the 'name' is important
    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:
      # use the name.secureFilePath value to set TELERIK_LICENSE_PATH
      TELERIK_LICENSE_PATH: $(DownloadTelerikLicenseFile.secureFilePath)

Classic Pipeline

With a classic pipeline, use the “Download secure file” task and a PowerShell script to set TELERIK_LICENSE_PATH to the secure file path.

  1. Add a “Download secure file” task and set the output variable's name to telerikLicense.

    Classic Pipeline 1

  2. Add a PowerShell task and set the TELERIK_LICENSE_PATH variable to the secureFilePath property of the output variable:

    Classic Pipeline 2

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:

echo "Copying $(telerikLicense.secureFilePath) to $(Build.Repository.LocalPath)/telerik-license.txt"
Copy-Item -Path $(telerikLicense.secureFilePath) -Destination "$(Build.Repository.LocalPath)/telerik-license.txt" -Force

Using TelerikLicensing.Register method on AWS Lambdas

As of version 1.6.7 Telerik.Licensing offers the parameterless TelerikLicensing.Register() method and the TelerikLicensing.Register(…script key…) method allowing the developers to validate the Telerik license when running AWS Lambda functions, plugins, or a class library that uses Telerik Document Processing consumed by any third-party software (Word, Excel, Revit, AutoCAD, MFC app, etc.). It is necessary to upgrade the Telerik.Licensing NuGet package at least to 1.6.7 and call the Register method in the body of the function. Thus, the Telerik license will be validated, and the trial message is not expected to be printed (for licensed users) in the generated document:

namespace LicensingInLambda;

public class Function
{
    public string FunctionHandler(string input, ILambdaContext context)
    {
        // Lambda function entry point

        // This requires Telerik.Licensing to be added to the function project
        TelerikLicensing.Register();

        // TODO: DPL - generate PDF here

        var entryAssembly = Assembly.GetEntryAssembly();
        var name = entryAssembly?.GetName();

        return $"Entry assembly: {entryAssembly?.GetName()} ... {Class1.DoYourMagic()}";
    }
}

See Also

In this article