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)
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:
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)