Skip to content

Commit d4ed8a3

Browse files
authored
docs(common): Add license key information (#2734)
* docs(common): Add licensing information * Licensing docs continued * fix endless loop * Licensing updates continued * Licensing continued * minor polishing * Add Docker tips * Fix missing link and refactor Docker instructions * Fix step
1 parent b6b44c6 commit d4ed8a3

31 files changed

+477
-105
lines changed

_contentTemplates/common/general-info.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
#end
44

55
#ensure-nuget-packge-for-upgrade
6-
Make sure that you have a NuGet feed source with the version you want to upgrade to. This is usually the [Telerik NuGet Feed](slug://installation/nuget), but you can also use a local feed from [our MSI installer](slug://installation/msi) or [ZIP archive](slug://installation/zip).
6+
Make sure that you have a NuGet feed source with the version you want to upgrade to. This is usually the [Telerik NuGet Feed](slug://installation/nuget), but you can also use a local feed from [our MSI installer](slug://installation-msi) or [ZIP archive](slug://installation-zip).
77
#end
88

99
#date-format-per-culture
@@ -15,7 +15,7 @@ The `Format` is culture-specific and the same format may produce different resul
1515
You can get the extension from:
1616

1717
* The Visual Studio Marketplace (for [Visual Studio 2022 for Windows](https://marketplace.visualstudio.com/items?itemName=TelerikInc.ProgressTelerikBlazorVSExtensions) and [Visual Studio 2019 for Windows](https://marketplace.visualstudio.com/items?itemName=TelerikInc.TelerikBlazorVSExtensions)).
18-
* The [Telerik UI for Blazor automated installer](slug://installation/msi) (for Windows and Mac).
18+
* The [Telerik UI for Blazor automated installer](slug://installation-msi) (for Windows and Mac).
1919
* Your [Telerik.com account](https://www.telerik.com/account/product-download?product=BLAZOR) (for Mac only). Download the `.mpack` file and use the "Install from file..." button on the Visual Studio Extensions dialog.
2020

2121
> Our extention for Visual Studio for Mac will be discontinued in 2024 [after Visual Studio for Mac is discontinued](https://learn.microsoft.com/en-us/visualstudio/mac/what-happened-to-vs-for-mac).
@@ -131,5 +131,5 @@ Visit [status.telerik.com](https://status.telerik.com) to check the status of th
131131

132132

133133
#ci-cd-support
134-
> All deployment articles in this documentation provide general guidance and fundamentals. Telerik does not provide technical support for setting up CI/CD environments or application publishing infrastructure.
134+
> The deployment articles in this documentation provide general guidance and fundamentals. Telerik does not provide technical support for setting up CI/CD environments or application publishing infrastructure, except for questions about [using Telerik license keys](slug://deployment-license-key).
135135
#end

_contentTemplates/common/get-started.md

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
## Step 0: Download Telerik UI for Blazor
1515

16-
* If you have already purchased a Telerik UI for Blazor license, continue with the [next step and create a new project](#step-1-create-a-new-project).
16+
* If you have already purchased a Telerik UI for Blazor license, continue with the [next step and install a license key](#step-1-install-a-license-key).
1717

1818
* If you are new to UI for Blazor and haven't purchased a license yet, you must <a href="https://www.telerik.com/download-trial-file/v2-b/ui-for-blazor" target="_blank">download and install the trial version</a> of the UI for Blazor components&mdash;this will activate your free trial and allow you to use the components. During the installation, select the **Set up Telerik NuGet package source** checkbox and the installer will configure the Telerik [online NuGet feed](slug://installation/nuget) automatically. You will use this feed later in the tutorial.
1919

@@ -23,7 +23,7 @@
2323

2424

2525
#add-nuget-feed
26-
## Step 2: Add the Telerik NuGet Feed to Visual Studio
26+
## Step 3: Add the Telerik NuGet Feed to Visual Studio
2727

2828
In this tutorial, you will use the [Telerik NuGet feed](slug://installation/nuget) to download the UI for Blazor components. This NuGet feed is private and requires you to authenticate with your Telerik user name and password:
2929

@@ -179,3 +179,35 @@ You can learn more about the [`TelerikRootComponent` purpose and usage](slug://r
179179
}
180180
</style>
181181
#end
182+
183+
#license-key-version
184+
185+
>tip This documentation section applies to Telerik UI for Blazor version **7.2.0** and above. Older versions do not require a license key.
186+
187+
#end
188+
189+
#license-key-update-whenever
190+
191+
>tip Update your license key [whenever you renew or purchase a new Telerik license](slug://installation-license-key#license-key-updates).
192+
193+
#end
194+
195+
#license-key-manual-steps
196+
197+
To download and install your Telerik license key:
198+
199+
1. Go to the <a href="https://www.telerik.com/account/your-licenses/license-keys" target="_blank">License Keys page</a> in your Telerik account.
200+
1. Click the **Download License Key** button.
201+
1. Save the `telerik-license.txt` file to:
202+
* (on Windows) `%AppData%\Telerik\telerik-license.txt`, for example, `C:\Users\...\AppData\Roaming\Telerik\telerik-license.txt`
203+
* (on Mac or Linux) `~/.telerik/telerik-license.txt`, for example, `/Users/.../.telerik/telerik-license.txt`
204+
205+
This will make the license key available to all Telerik .NET apps that you develop on your local machine.
206+
207+
#end
208+
209+
#license-key-know-more-link
210+
211+
The [Telerik License Key](slug://installation-license-key) article provides additional details on installing and updating your Telerik license key in different scenarios. [Automatic license key maintenance](slug://installation-license-key#automatic-installation) is more effective and recommended in the long run.
212+
213+
#end

_contentTemplates/common/issues-and-warnings.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,7 @@ Open the Client `.csproj` file and ensure that the following switch is present.
2727
You may find useful the following Microsoft articles on securing your NuGet feed setup and supply chain as general best practices:
2828

2929
* <a href="https://devblogs.microsoft.com/nuget/lock-down-your-dependencies-using-configurable-trust-policies/" target="_blank">Lock down your dependencies using configurable trust policies - Blog Post</a>
30-
3130
* <a href="https://devblogs.microsoft.com/nuget/how-to-scan-nuget-packages-for-security-vulnerabilities/" target="_blank">How to Scan NuGet Packages for Security Vulnerabilities - Blog Post</a>
32-
3331
* <a href="https://docs.microsoft.com/en-us/nuget/concepts/security-best-practices" target="_blank">Best practices for a secure software supply chain - MSDN docs</a>
3432

3533
Telerik provides signed NuGet packages that you can verify.

common-features/data-binding/telerik-datasource-package.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ In this article:
2525

2626
## Basics
2727

28-
The `Telerik.DataSource` package is distributed through the [Telerik NuGet package source](slug://installation/nuget) and is available to both trial and commercial licenses. It is also available as a resource in the [offline installer](slug://installation/msi) and [resources archive](slug://installation/zip) of Telerik UI for Blazor and some other Telerik suites, such as UI for ASP.NET Core.
28+
The `Telerik.DataSource` package is distributed through the [Telerik NuGet package source](slug://installation/nuget) and is available to both trial and commercial licenses. It is also available as a resource in the [offline installer](slug://installation-msi) and [resources archive](slug://installation-zip) of Telerik UI for Blazor and some other Telerik suites, such as UI for ASP.NET Core.
2929

3030
The `Telerik.DataSource` package targets `netstandard2.1`.
3131

components/grid/data-binding.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ The following list of resources provides examples for data binding a grid in var
3333

3434
* **Optimizing the data source queries** - see the [Notes](slug://components/grid/columns/bound#notes) section in the article above. In a server-side app, an `IQueryable` that ties to an appropriate context (such as EntityFramework) that can optimize the LINQ queries the grid generates is a quick option. For full control, use the [OnRead event](slug://components/grid/manual-operations).
3535

36-
* **SQL** (or any other) **database** - you can find examples in our [online demos](https://demos.telerik.com/blazor-ui/grid/overview). You can see an offline version of the demos project in the `demos` folder of your installation ([automated](slug://installation/msi) or [archive](slug://installation/zip)). They showcase an EntityFramework context using an SQL database that provides data to a grid through a service, which is a common architecture for decoupling the front-end from the actual data source that you can apply to any database.
36+
* **SQL** (or any other) **database** - you can find examples in our [online demos](https://demos.telerik.com/blazor-ui/grid/overview). You can see an offline version of the demos project in the `demos` folder of your installation ([automated](slug://installation-msi) or [archive](slug://installation-zip)). They showcase an EntityFramework context using an SQL database that provides data to a grid through a service, which is a common architecture for decoupling the front-end from the actual data source that you can apply to any database.
3737

3838
* The **CRUD sample project** our extensions for [Visual Studio](slug://getting-started-vs-integration-new-project) and [Visual Studio Code](slug://getting-started-vs-code-integration-overview) can generate for you showcases a similar architecture that you can use as a starting point.
3939

deployment/ci-cd-build-server.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,9 @@ position: 5
1212

1313
This article explains some concepts and how to troubleshoot the most common errors related to setting up the Telerik NuGet packages for automated builds, CI and CD.
1414

15-
Sections in this article:
15+
> To successfully set up a CI/CD environment for Telerik Blazor apps, also refer to the article about [Telerik license keys in CI/CD](slug://deployment-license-key).
1616
17+
Sections in this article:
1718

1819
* [Basics](#basics)
1920
* [Azure DevOps Pipelines](#azure-devops-pipelines)
@@ -29,7 +30,7 @@ There are a couple of common ways people implement CI/CD automated builds.
2930

3031
* You can [restore the Telerik NuGet packages](slug://deployment-nuget) by downloading them from the Telerik NuGet server. You can achieve this by using the more secure token-based authentication with the Telerik NuGet server. If you prefer the basic authentication with a username and password, you can use your own credentials (or the credentials of the license holder, depending on how your licenses are set up) in the `NuGet.Config` of the build machine/pipeline. In this case, make sure that your credentials are encrypted when you add the Telerik feed source through the CLI. Alternatively, you can copy an encrypted version from your own local config if you have one and if plain text is an issue. See more on setting up the [Telerik NuGet package source](slug://installation/nuget).
3132

32-
* Creating a local folder (for example, on a shared network drive or other suitable location accessible only by your builds and team) that holds the `.nupkg` files we provide (you can download them from your telerik.com account, or from your local installation - both [automated](slug://installation/msi) and from the [zip archive](slug://installation/zip)).
33+
* Creating a local folder (for example, on a shared network drive or other suitable location accessible only by your builds and team) that holds the `.nupkg` files we provide (you can download them from your telerik.com account, or from your local installation - both [automated](slug://installation-msi) and from the [zip archive](slug://installation-zip)).
3334

3435
You must protect your credentials and/or the Telerik packages and ensure they are used only by you and not by other developers, according to the [license-per-developer policy](https://www.telerik.com/purchase/license-agreement/blazor-ui). As long as your credentials are obfuscated/masked, they can be used by your colleagues (e.g. developers, QAs, designers, front-end devs, DBAs, etc.) for building and running a solution, provided they do not use the Telerik components to create functionality. Most importantly, you must ensure that such credentials or package sources are not available to the general public (for example, in public repositories).
3536

@@ -39,25 +40,19 @@ You must protect your credentials and/or the Telerik packages and ensure they ar
3940
When using Azure pipelines, we encourage you to review the following resources on setting things up:
4041

4142
* Blog post: [Azure DevOps and Telerik NuGet Packages](https://www.telerik.com/blogs/azure-devops-and-telerik-nuget-packages)
42-
4343
* Sample Repo and Video Tutorial: [Telerik DevOpsExamples by Lance McCarthy](https://github.com/LanceMcCarthy/DevOpsExamples)
4444

45-
>caption There are a couple of common questions and issues:
45+
There are a couple of common questions and issues:
4646

4747
* Obtaining credentials - see the points above for either using your own credentials, or using a shared package source.
48-
4948
* Telerik feed not being found - the most common reason for a problem is that the path to the `NuGet.Config` file is wrong (it should, by default, be at the root level).
50-
5149
* An `index.json not found` error can occur from many root causes. If you have successfully authenticated, this error usually means that the feed wasn't able to be searched or connected to. A common reason is an incorrect feed URL, such as including a trailing slash - Correct: `https://nuget.telerik.com/v3/index.json` and Incorrect: `https://nuget.telerik.com/v3/index.json/`.
5250

53-
>caption A few things to double check to ensure correct setup:
51+
A few things to double check to ensure correct setup:
5452

5553
* The Service connection is using Basic Authentication and the URL is correct (`https://nuget.telerik.com/v3/index.json` exactly, no trailing slash).
56-
5754
* That Service Connection is selected as the credentials source.
58-
5955
* The credentials being used have a UI for Blazor license.
60-
6156
* Make sure that you use `dotnet restore` and not `nuget restore` in your pipeline step.
6257

6358

@@ -75,8 +70,8 @@ jobs:
7570
runs-on: windows-latest
7671
7772
env:
78-
TELERIK_USERNAME: ${ { secrets.MyTelerikAccountUsername } } # remove the space between the brackets
79-
TELERIK_PASSWORD: ${ { secrets.MyTelerikAccountPassword } } # remove the space between the brackets
73+
TELERIK_USERNAME: ${ { secrets.MyTelerikAccountUsername } } # remove the spaces between the brackets
74+
TELERIK_PASSWORD: ${ { secrets.MyTelerikAccountPassword } } # remove the spaces between the brackets
8075
8176
````
8277

@@ -140,15 +135,20 @@ RUN dotnet build "./MyBlazorApp.csproj" -c Release -o /app/build
140135
````
141136

142137

138+
## Next Steps
139+
140+
* [Set Up Telerik License Key in CI/CD Environment](slug://deployment-license-key)
141+
142+
143143
## Further Reading
144144

145145
@[template](/_contentTemplates/common/issues-and-warnings.md#nuget-security-links)
146146

147147

148148
## See Also
149149

150+
* [Install License Key in CI/CD Environment](slug://deployment-license-key)
150151
* [Blog Post: Azure DevOps and Telerik NuGet Packages](https://www.telerik.com/blogs/azure-devops-and-telerik-nuget-packages)
151152
* [DevOpsExamples repo by Lance McCarthy](https://github.com/LanceMcCarthy/DevOpsExamples)
152153
* [Setup of the Telerik Online Private NuGet Feed](slug://installation/nuget)
153154
* [NuGet Feed Troubleshooting](slug://troubleshooting-nuget)
154-

deployment/ci-cd-license-key.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
---
2+
title: License Key
3+
page_title: Telerik License Key in CI/CD
4+
description: Learn how to create and install a Telerik license key file in continuous integration and continuous delivery (CI/CD) workflows and environments.
5+
slug: deployment-license-key
6+
tags: installation, license, deployment
7+
published: True
8+
position: 7
9+
---
10+
11+
# Telerik License Key in CI/CD Environment
12+
13+
This article describes how to set up and activate your [Telerik UI for Blazor license key](slug://installation-license-key) across a few popular CI/CD services by using environment variables.
14+
15+
@[template](/_contentTemplates/common/get-started.md#license-key-version)
16+
17+
## Basics
18+
19+
When working with CI/CD platforms, always add the [`Telerik.Licensing` NuGet package](slug://getting-started/what-you-need#nuget-packages) as a project dependency. This package activates the Telerik Blazor components at build time by using the provided license key.
20+
21+
The license activation process in a CI/CD environment involves the following steps:
22+
23+
1. Add the `Telerik.Licensing` NuGet package as a dependency to all projects that reference Telerik UI for Blazor or Telerik Document Processing:
24+
````XML.skip-repl
25+
<PackageReference Include="Telerik.Licensing" Version="1.*" />
26+
````
27+
1. Go to the <a href="https://www.telerik.com/account/your-licenses/license-keys" target="_blank">License Keys page</a> in your Telerik account and get your license key.
28+
1. Set your license key value as an environment variable with a name `TELERIK_LICENSE`.
29+
30+
## Creating Environment Variables
31+
32+
The recommended way to provide your license key to the `Telerik.Licensing` NuGet package in CI/CD environment is to use environment variables. Each CI/CD platform has a different process for setting environment variables. This article lists only some of the most popular examples.
33+
34+
### Azure Pipelines (YAML)
35+
36+
1. Create a new <a href="https://docs.microsoft.com/en-us/azure/devops/pipelines/process/variables?view=azure-devops&tabs=yaml%2Cbatch" target="_blank">user-defined variable</a> named `TELERIK_LICENSE`.
37+
1. Paste the contents of the license key file as a value.
38+
39+
### Azure Pipelines (Classic)
40+
41+
1. Create a new <a href="https://docs.microsoft.com/en-us/azure/devops/pipelines/process/variables?view=azure-devops&tabs=classic%2Cbatch" target="_blank">user-defined variable</a> named `TELERIK_LICENSE`.
42+
1. Paste the contents of the license key file as a value.
43+
44+
### GitHub Actions
45+
46+
1. Create a new <a href="https://docs.github.com/en/actions/reference/encrypted-secrets#creating-encrypted-secrets-for-a-repository" target="_blank">Repository Secret</a> or an <a href="https://docs.github.com/en/actions/reference/encrypted-secrets#creating-encrypted-secrets-for-an-organization" target="_blank">Organization Secret</a>.
47+
1. Set the name of the secret to `TELERIK_LICENSE` and paste the contents of the license file as a value.
48+
1. After running `npm install` or `yarn`, add a build step to activate the license:
49+
````YAML
50+
env:
51+
TELERIK_LICENSE: ${ { secrets.TELERIK_LICENSE } } # remove the spaces between the brackets
52+
````
53+
54+
### Docker
55+
56+
1. [Create a Docker build secret](https://docs.docker.com/build/building/secrets/#using-build-secrets) that holds the Telerik license key file.
57+
1. [Mount the secret](https://docs.docker.com/build/building/secrets/#secret-mounts) and set a `TELERIK_LICENSE` [environment variable in the container](https://docs.docker.com/build/building/secrets/#target).
58+
59+
## Next Steps
60+
61+
* [Restore Telerik NuGet Packages in CI/CD Workflows](slug://deployment-nuget)
62+
63+
## See Also
64+
65+
* [CI, CD, Build Server](slug://deployment-ci-cd-build-pc)
66+
* [Workflow Details for Telerik UI for Blazor](slug://getting-started/what-you-need)

deployment/overview.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,7 @@ position: 1
1111

1212
# Blazor Deployment Overview
1313

14-
This article explains the basics of deploying a Telerik-enabled Blazor web application. It consists of the following sections:
15-
16-
* [Prerequisites](#prerequisites)
17-
* [Telerik Components](#telerik-components)
18-
* [Next Steps and Troubleshooting](#next-steps-and-troubleshooting)
14+
This article lists the fundamentals of deploying a Telerik-enabled Blazor web application.
1915

2016
@[template](/_contentTemplates/common/general-info.md#ci-cd-support)
2117

@@ -27,6 +23,9 @@ Refer to the Microsoft Blazor deployment documentation and make sure you can dep
2723
* [Host and deploy Blazor Server apps](https://learn.microsoft.com/en-us/aspnet/core/blazor/host-and-deploy/server)
2824
* [Host and deploy Blazor WebAssembly apps](https://learn.microsoft.com/en-us/aspnet/core/blazor/host-and-deploy/webassembly)
2925

26+
## License Key
27+
28+
Before building a Telerik Blazor app in a CI/CD environment, [set up a Telerik license key in CI/CD](slug://deployment-license-key). The process is different than in a [local development environment](slug://installation-license-key).
3029

3130
## Telerik Components
3231

0 commit comments

Comments
 (0)