Builds

Build process

The build process is managed by the trigger of a pipeline with all the needed jobs in the Continuous integration process for a specific repository. For this example, we will see the build pipeline for the Mobilize.SilverlightConverter.CmdRunner, which includes just one job, but we will see what it does

We will separate the build phase in parts: Pre-jobs, which are tasks needed to prepare the environment, ConversionTool Build which will restore packages and start the build, test execution and SonarQube analysis. And finally, Post-jobs, which will clean the environment for the next process.

Pre-Jobs

These tasks are usually setup by DevOps to prepare the environment for the next tasks related with the build and test phases.

Build and test phase

Tasks that are steps used to build the solution locally. These steps can be automatized and be part as the tasks in this pipeline.

After the build steps, it will execute the tasks related with testing. In this case, run the unit and integration tests. Then, it will publish the test results.

When the test results are ready, it will be imported to SonarQube, and it will run the analysis which will evaluate some metrics, such as the coverage, technical debt, maintainability, reliability.

Post-Jobs

The post-job tasks will do the respective cleanup of the machines used to execute the previous steps.

How to run a new build

To run a new build, we actually run a pipeline. This execution can be made manually, but in most cases it will run automatically with every new version of artifacts generated after the development cycle.

For example, in this case the Silverlight Conversion Tool, a new build will be executed whenever is a stable version of the Silverlight Components, that will automatically trigger the process.

Now, to execute it manually, in Azure DevOps, open the pipeline of the build that we want to run, for this example, using Mobilize.SilverlightConverter.CmdRunner. Then click on the Run pipeline button

There are two options to run the pipeline. The Agent pool, which normally it is configured by default in the pipeline. And the branch or tag, where we can set on which branch or version, the pipeline will execute the tasks for this build process.

Last updated