For some C/C++ developers, working within the structure of continuous integration can be an awkward transition. Running a CI server and the supporting tools to resolve dependencies, share packages, and manage binaries may be unfamiliar, and getting them to work together well can be challenging.
C/C++ Continuous Integration Challenges
Microsoft’s Azure DevOps (formerly known as VSTS) or TFS can be attractive to these developers, providing an environment for coding and building applications that they’re already familiar with. But to integrate this CI server with those tools that help manage builds, may require using shell commands, a manual and complex method that’s prone to mistakes.
That’s why we made the JFrog Artifactory Extension for Azure DevOps and TFS available in the Azure marketplace, to provide easy integration of the Artifactory binary repository manager with those CI development platforms. And in the latest version, the extension now supports Conan tasks that can make it easier to run Conan builds.
Conan Promotes C/C++ in Azure DevOps
Conan is an open source, decentralized and multi-platform package manager for C/C++ developers to create and share native binaries. It can be used with Artifactory as a Conan Package Manager to resolve dependencies and share packages within your organization.
The support for Conan now in the JFrog Artifactory Extension helps you perform the following tasks in Azure DevOps or TFS:
- Run Conan commands
- Resolve Conan dependencies from remote Artifactory servers
- Push Conan packages to Artifactory
- Publish BuildInfo metadata
- Import a Conan configuration
This tutorial shows how to add Conan tasks to your Build or Release pipelines through the Artifactory Extension, and push the generated buildinfo metadata to Artifactory where it can be used to track and automate your builds.
Configuring DevOps Azure to use Artifactory with Conan tasks
Before You Start
To configure your builds to use Conan and Artifactory together, first download and install these tools.
- Download and Install the Conan version that’s appropriate for your system.
- To use the Conan support provided by the JFrog Artifactory Extension you must configure a self-hosted agent that will enable Conan builds for your Azure Pipelines environment.
Installing the Artifactory Extension
- Download the JFrog Artifactory Extension from the Visual Studio Marketplace and follow the installation instructions in the Overview.
When completed, proceed to create builds and access buildinfo from within Azure DevOps or TFS.
Steps to Follow
In these steps, you will set up Azure DevOps to use Artifactory and add Conan tasks to your build pipeline. Then you can set up to push the buildinfo from the Conan task to Artifactory.
STEP 1: Configure the Artifactory instance
Once the Artifactory Extension is installed, you must configure Azure DevOps to access the Artifactory instance.
To add Artifactory to Azure DevOps:
- In Azure DevOps, go to Project Settings > Service connections.
- Click + New service connection to display the list control, and select Artifactory.
- In the resulting Update Authentication for Artifactory dialog, enter the required server and credential information, and click OK.
STEP 2: Add a Conan task
Once your Artifactory connection is configured, you may add Conan tasks to your Build or Release pipelines.
To add a Conan task:
- Go to the Pipeline Tasks setup screen.
- In the Add tasks section, search for “Conan” in the task selection list.
- Select the Artifactory Conan task to add it to your pipeline.
- In the new task, select which Conan command to run.
- Configure the Conan command for the task.
Continue to add Conan tasks as you need for each pipeline.
STEP 3: Configure the Push task buildinfo to Artifactory
When the pipeline containing the Conan task executes, the task log shows all the information about the executed Conan command.
You can configure your Conan task to collect the buildinfo by selecting the Collect buildinfo checkbox when you create the task.
Once collected, the buildinfo can then be pushed as metadata to Artifactory.
To perform this, create an Artifactory Publish Build Info task to push the metadata to your Artifactory instance.
After you run the pipeline, you will be able to see the build information for the Conan task in Artifactory.
Accelerate with Artifactory