Integrate NuGet to Popular Continuous Integration Systems
- 4 minutes to read
This topic describes how to integrate an application with DevExpress controls into Azure DevOps, JFrog Artifactory, and Nexus OSS continuous integration (CI/CD) systems.
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 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
JFrog Artifactory
Create a new remote repository in Artifactory with the following settings:
Settings Values URL https://nuget.devexpress.com/{Your feed authorization key}/api NuGet Download Context Path package NuGet Feed Context Path <empty> NuGet v3 Feed URL <empty>
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.
Licensing NuGet Feed
If your team includes multiple individuals, a license holder (typically a team lead or company owner) assigns individual DevExpress licenses to each developer using the Assign Licenses menu on our website. An individual DevExpress license assigned to a developer grants this developer the right to use the DevExpress Unified Component Installer or individual NuGet feed credentials.
Question: What NuGet feed should a team of multiple developers use for a shared CI/CD pipeline?
Answer: For a shared CI/CD pipeline, use individual NuGet feed credentials for a developer with a valid DevExpress license (it does not matter whether this individual is a team lead/developer/company owner). This developer can also develop with valid DevExpress products within the Visual Studio or other IDE. All other developers within the team that use DevExpress products must also own valid DevExpress licenses.
If the primary license holder assigned ALL licenses to developers within the team, the license holder can NOT use their NuGet feed for a shared CI/CD pipeline or any other development purposes. Nothing changes regarding NuGet in this regard - this has always been the case for our Unified Component Installer - primary license holders without a license cannot install our products (whether through NuGet or the Unified Installer).
Note
Our licensing rules (as defined in the DevExpress EULA) prohibit the use of a single DevExpress license by multiple developers for build and development purposes within the Visual Studio or other IDE - each developer that uses our products must own a license. If you own the appropriate number of developer licenses, but need licensing related clarification for your CI/CD system, be sure to contact us via the DevExpress Support Center. We’ll be happy to accommodate your specific business situation (where possible). If you have questions regarding our license and terms of use, please write to us at info@devexpress.com.