Build Automation in PowerShell
Invoke-Build is a build and test automation tool which invokes tasks defined in
PowerShell v3.0+ scripts. It is similar to psake but arguably easier to use and
more powerful. It is complete, bug free, well covered by tests.
In addition to basic task processing the engine supports
Invoke-Build v3.0.1+ is cross-platform with PowerShell Core.
Invoke-Build can be effectively used in VSCode and ISE.
Several PowerShell Team projects use Invoke-Build.
The package includes the engine, helpers, and help:
Extra scripts, see PSGallery and the repository:
And some more tools, see the repository:
Invoke-Build is published as PSGallery module InvokeBuild.
You can install it by one of these commands:
Install-Module InvokeBuild
To install the module with Chocolatey, run the following command:
choco install invoke-build
NOTE: The Chocolatey package is maintained by its owner.
Invoke-Build is also published as nuget.org/packages/Invoke-Build.
If you use scoop then invoke:
scoop install invoke-build
and you are done, scripts are downloaded and their directory is added to the
path. You may need to start a new PowerShell session with the updated path.
Otherwise, download the package manually, rename it to zip, extract its tools
and rename to InvokeBuild. Consider including this directory to the path for
invoking scripts by names. Or copy to any PowerShell module directory in order
to use it as module.
nuget.org/packages/ib provides Invoke-Build
as the dotnet tool ib
which may be installed as global or local.
To install the global tool:
dotnet tool install --global ib
To install the local tool:
dotnet new tool-manifest # once on setting up a repo with tools
dotnet tool install --local ib
See ib/README for more details about ib
commands.
If you are using the module (known issue #2899) or the script is not in the
path then use the full path to Invoke-Build.ps1 instead of Invoke-Build in
the below commands:
In order to get help for the engine, invoke:
help Invoke-Build -full
In order to get help for internal commands:
. Invoke-Build
help task -full
help exec -full
...
dotnet new ib
.Questions, suggestions, and reports are welcome at discussions and issues.