Welcome to Pipeline Creation Tool

This tool aids developers creating automated pipelines with a click of a few buttons and with minimal / no intervention.
For customisations and modifications, these can be easily done by updating the yml file generated.
Learn about building and modifying Azure Pipelines.

Introduction

Description

The Tool generates a generic pipeline template for .Net Framework applications (4.6.2 onwards), which as an end result, the pipeline is able to build, test and publish artifacts of the code base, for the specified environment(s).
Note: Currently, the tool is unable to create a release pipeline and deploy to a specific environment, and this has to be done manually be referencing the published artifacts.

Prerequisites

In order to execute the Pipeline Tool with minimal intervention, the user / applications should have:

  • Adequate knowledge of the codebase they wish to automate
  • Access to the Repository
  • Access to create an Access Token
  • Publish Profiles created and committed (must be a Folder Target with a relative output path)
Note: We suggest that if multiple projects are setup, each project has the same publish profiles setup (name, path and configuration).
A sample (& our recommendation) of a publish profile output (.pubxml) can be seen here

Required Attributes

Like most applications, the Pipeline Tool need a specific set of input to aid interaction with the Azure Stack as described below:

  • Access Token (for more information on how to createa an access token please see here)
  • Azure Project URL (path should look like: https://dev.azure.com/{organization}/{project}/)
  • [Auto populated] Git Repository
  • [Auto populated] Where the yml file will be committed to
  • [Auto populated] Projects to Build, Test and Publish
  • [Auto populated] Profiles & Environments to Publish
  • [Auto populated] What will trigger the pipeline to run

Process & Flow

The process is split in 2 different screens

Screen 1 - Authentication

In the first screen, the user will be prompted for the Access token which will be used and the Project they wish to automate (the access token should grant access into the project)
Using these details, the tool will attempt to authenticate the user details and get any neccessary information from the the project such as but not limited to:

  • Repositories available (API)
  • Trunks & Branches (API)
  • All Projects available (files ending with .csproj)
  • All Publish profiles available (API)

Screen 2 - Pipeline Setup

In the second screen, the user will select the projects, profiles and triggers he wishes his pipeline will have.
Once these have been selected, the tool will run a set of APIs to:

  • Generate the yml file (internal generation tool)
  • Commit the newly created file (API)
  • Create a new Pipeline (API)
  • Run the Pipeline (API)

Possible Future Improvements

Below is a list of all possible improvements to the tool

  • Release Pipeline Creation (Deploy to Staging)
  • Variable Creation used for Pipelines
  • Support for different projects (not CS Projects)
  • Support for other Frameworks (Flutter, .Net Core)
  • Update existing pipeline (e.g. add another project) - currently user has to delete and recreate yml and pipeline
  • Improvements to User Interface

Known Bugs:

  • Multiple Pipeline creation (is triggered when user creates one pipeline - successfully, and tries to create a new one exactly afterwards)