configuring builds
Build fundamentals
"A build system is a system used to automatically produce all the artifacts required to successfully deploy, test and run our production software". - Infrastructure as code
Continuous integration - " is the practice of merging all developer working copies to a shared mainline several times a day"
A continuous integration build is the fact we build the integrated changes of our mainline by means of a build server after each commit
Pipeline - a template of the steps used to run our build over and over again - it defines the sequence of the tasks and the variables to be passed between tasks
Tasks - e.g. Compile the source code - take the input, what sources to build, where to find them & produce a result
Agents - Executes the task for us
Creating a build
Select a template; select a build source (Git) & define as ci; define the build tasks; select the agent (pool) that will do the work.
Build tasks - multiple phases with demands
Build security
Agents are placed in pools (a securable unit - grant access to use as well as add & remove agents) (Create a personal access token (PAT)
Queues - also a securable unit
Enable ci through the triggers tab
Build variables - custom; built-in; secrets
Triggers - ci; branch filters; pull request; gated check-in
Options - properties; demands; build number format; work-items; Oauth token passed in as a variable (system.access token) or defined as an envvar used by scripts that need acces
retention policy
Tasks & the market place
default tasks
vsts market place -
build your own