DevExpress NuGet Packages and Popular Continuous Integration Systems
- 3 minutes to read
Important
This topic contains instructions that may be incomplete. Please read CIS documentation for additional information.
This topic describes how to integrate an application with DevExpress controls into GitLab, Azure DevOps, JFrog Artifactory, and Nexus OSS continuous integration (CI/CD) systems.
GitLab
Open your project CI/CD settings (Settings > CI/CD):
Add a new variable.
- Click Expand.
Click Add variable.
Specify variable parameters:
Important
Select the Masked option.
Pass your variable’s
Key
(a secret name) to GitLab CLI scripts as an environment variable. The variable’sValue
will be masked in job logs during dotnet build or dotnet restore command execution (Example: gitlab-ci.yml).build-job: script: - dotnet build --source "https://api.nuget.org/v3/index.json" --source "https://nuget.devexpress.com/$DEVEXPRESS_API/api/v3/index.json"
Note
If the dotnet build and restore are separated into separate lines/steps, run the restore first. Then run the build command with
--no-restore
flag.
Azure DevOps
Azure DevOps does not support custom upstream NuGet sources. Use the NuGet.config file to configure the system.
- Obtain your NuGet feed credentials.
- Add the NuGet.config file next to the .sln file in your project.
- Add a package source with your DevExpress NuGet feed URL to the NuGet.config file.
The next steps depend on whether you use an authorization key or feed URL.
Feed Authorization Key
Specify content of the Nuget.config file as follows:
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" /> <add key="DevExpress Feed" value="https://nuget.devexpress.com/api/" /> </packageSources> </configuration>
Add a new build pipeline.
Add a new NuGet restore task to the pipeline and configure it to work with NuGet.config. You should specify the following settings:
Settings Values Command restore Feeds to use Feeds in my NuGet.config Path to NuGet.config Path to your NuGet.config file Click the New/Add button to add feed credentials.
Specify the connection settings as shown below and save them.
NuGet Feed URL
Specify content of the Nuget.config file as follows:
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" /> <add key="DevExpress Nuget server" value="https://nuget.devexpress.com/{Your feed authorization key}/api" /> </packageSources> </configuration>
Add a new build pipeline.
Add a new NuGet restore task to the pipeline and configure it to work with NuGet.config. You should specify the following settings:
Settings Values Command restore Feeds to use Feeds in my NuGet.config Path to NuGet.config Path to your NuGet.config file
Note
Storing credentials in a NuGet.config file (especially when saving NuGet.config to your source control) is risky because it can lead to credential leakage. If you store credentials in NuGet.config, please consider using a more secure option as described in Consuming packages from authenticated feeds and How to Protect Your Private NuGet Feed and Safely Consume the Feed From External Systems.
JFrog Artifactory
Create a new remote repository in Artifactory with the following settings:
Settings Values URL https://nuget.devexpress.com/ NuGet Download Context Path package NuGet Feed Context Path <empty> NuGet v3 Feed URL https://nuget.devexpress.com/api/v3/index.json
JFrog Artifactory creates a NuGet feed on the jFrog server.
Nexus OSS
Create a new remote repository with the following settings.
Settings Values Format nuget Type proxy Remote Storage https://nuget.devexpress.com/{Your feed authorization key}/api
Nexus OSS creates a proxy URL feed with access to the DevExpress NuGet packages.