BuildMaster Documentation

Artifacts

  • Last Modified: 2019-02-14

Artifacts are the mechanism designed to capture build output into a file, typically with the intention of being deployed in the future. Artifacts are associated with a build and may be created or deleted at any point during the lifecycle of an active build. Artifact files themselves are not limited to build output, they commonly also contain:

  • Documentation files
  • Release notes
  • Archived source code
  • "Frozen" dependencies

The usage of artifacts forms a more stable and reliable deployment process by ensuring each stage of deployment receives equivalent output.

Creating Artifacts

Artifacts can be added to a build in a variety of different methods:

  • Uploaded a zip file to the web interface on the Build Overview page
  • Captured from a drop path on a network share
  • Compiled from source code within BuildMaster
  • Imported from a third-party CI server such as Jenkins or TeamCity

The most common method to capture an artifact is to add the Create-Artifact operation to a deployment plan, generally immediately after some form of 'build' operation such as MSBuild::Build-Project. See the operation's documentation for more information.

Third-Party Artifacts

Other methods of associating an existing artifact with a build are specific to the third-party system that associates them, and instructions are generally available either on the details page for a specific extension in the Inedo Den, the extension's GitHub Wiki page, or the tutorials page. Currently, examples for the following CI systems are documented:

  • TFS / VSO / VSTS / Azure Devops
  • Jenkins
  • TeamCity

Deploying Artifacts

Artifacts are deployed using the Deploy-Artifact operation in a deployment plan. This operation by default is optimized to only transfer files that have been modified to decrease deployment times of large artifacts. See the operation's documentation for more information.

Is this documentation incorrect or incomplete? Help us by contributing!

This documentation is licensed under CC-BY-SA-4.0 and stored in GitHub.