Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

DNN Pipeline Tasks by IowaComputerGurus, Inc.

This collection of tasks includes helpful Azure DevOps pipeline utilities that will assist with CI/CD for DNN Extension Development. Below we will describe the available tasks.

Included Tasks

Set DNN Manifest Version Task

This task was created to recursively search a directory and identify all .dnn manifest files. For each found monifest file it will look for a version number definition inside of a 'package' element and will update it to the proper version. This replacement will work with any version defined in either 00.00.00 or 0.0.0 format.

This allows you to manage revisions locally if needed, but will adjust the version to be proper during build.

Errors & Warnings

Condition Result Detail
Extension Version Invalid Error Version must be 3 segments divided by .
Unable to locate any .dnn manifest Warning Notification that no work was completed
Unable to update version Warning This can occur if your manifest does not have the required version token

Copy DNN Extension Artifacts

This task was created as an extension of the default Windows Azure "Copy Files" task to help find DNN Extension Installation packages and move them to the Build Artifact Staging Directory.

The goal of this task was to ensure that files were copied, as we expect to have files to copy. As such, the key difference between this task and the default Copy Files task is that it will fail if no files are found. Out of the box this task is usable with one of the extension package pattern types, but can also work for others with minor changes.

Settings & Defaults

The settings are the same as the Microsoft provided items, and retain the help links,

  • Source Directory: Repository Root
  • Contents: **\packages* (This translates to all files in folders called packages with a suffix of You might need to adjust if your build places the files in a different location.)
  • Target Directory: $(build.artifactstagingdirectory)
  • Clean Target Folder: True
  • Overwrite: False
  • Flatten Folders: True (This places all extensions in the root of the folder, regardless of source directory)

Errors & Warnings

Condition Result Details
No installers found Error This project expects that at least 1 artifact is found for publish.