Skip to main content

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.

  1. Obtain your NuGet feed credentials.
  2. Add the NuGet.config file next to the .sln file in your project.
  3. 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

  1. 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>
    
  2. Add a new build pipeline.

  3. 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

    Azure NuGet Task

  4. Click the New button to add feed credentials.

    Azure Task with Credentials

  5. Specify the connection settings as shown below and save them.

    Azure Connection Settings

NuGet Feed URL

  1. 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>
    
  2. Add a new build pipeline.

  3. 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

    Azure NuGet Task

JFrog Artifactory

  1. Obtain your NuGet feed credentials.

  2. 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 Repository

JFrog Artifactory creates a NuGet feed on the jFrog server.

Nexus OSS

  1. Obtain your NuGet feed credentials.

  2. 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 Repository

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.

See Also