


This results in initializing a new, local Git repository for every build.Īll build directories: Deletes and recreates $(Agent.BuildDirectory). Sources directory: Deletes and recreates $(Build.SourcesDirectory). Note that the $(Build.ArtifactStagingDirectory) and $(Common.TestResultsDirectory) are always deleted and recreated prior to every build regardless of any of these settings. Sources and output directory: Same operation as Sources option above, plus: Deletes and recreates $(Build.BinariesDirectory). More specifically, the following Git commands are executed prior to fetching the source. Sources: The build pipeline performs an undo of any changes in $(Build.SourcesDirectory). YAML Pipelines are supported in Azure DevOps Server 2019 and higher. parameters:īy default, clean is set to false but can be overridden when manually running the pipeline by checking the Checkout clean checkbox that is added for the runtime parameter. In the following example, a runtime parameter is used to configure the checkout clean setting. To override clean settings when manually running a pipeline, you can use runtime parameters. Select YAML, Get sources, and configure your desired Clean setting. To configure the Clean setting:Įdit your pipeline, choose. The pipeline settings UI has a Clean setting, that when set to true is equivalent of specifying clean: true for every checkout step in your pipeline.The workspace setting for job has multiple clean options (outputs, resources, all).When set to true, the pipeline runs execute git clean -ffdx & git reset -hard HEAD before fetching the repo. There are several different clean options available for YAML pipelines. If you do need to clean the repo (for example to avoid problems caused by residual files from a previous build), your options are below.Īzure Pipelines, Azure DevOps Server 2019 and newer In this case, to get the best performance, make sure you're also building incrementally by disabling any Clean option of the task or tool you're using to build. In general, for faster performance of your self-hosted agents, don't clean the repo.

You can perform different forms of cleaning the working directory of your self-hosted agent before a build runs. Usually you'll set this to be the same as the default branch of the repository (for example, "master"). The default branch has no bearing when the build is triggered through continuous integration (CI). If you set a scheduled trigger for the build, this is the branch from which your build will get the latest sources. This is the branch that you want to be the default when you manually queue this build. FeatureĬlick Advanced settings in the Get Sources task to see some of the above options. While editing a pipeline that uses a Git repo-in an Azure DevOps project, GitHub, GitHub Enterprise Server, Bitbucket Cloud, or another Git repo-you have the following options. Service connections are called service endpoints, In Microsoft Team Foundation Server (TFS) 2018 and previous versions,īuild and release pipelines are called definitions,
