- 17 Feb 2022
- 1 Minute to read
-
Print
-
DarkLight
-
PDF
Packaging Artifacts & Containers
- Updated on 17 Feb 2022
- 1 Minute to read
-
Print
-
DarkLight
-
PDF
BuildMaster can create and manage build artifacts for any deployment target, from simple ZIP files to complex container orchestrations in the cloud.
Basic Artifacts (.zip files)
An artifact is essentially a .zip file that's associated with a build, and may be deleted at any time.
They're generally used to securely store application files you want to deploy, such an ASP.NET Web Site, .jar files, or even a single Python script. But artifacts also be used to store other files related to builds, such as documentation, release notes, archived source code, "frozen" dependencies, etc.
Creating & Deploying Artifacts
Artifacts are often created during the CI/build process using the Create-Artifact operation, but it's also common to add artifacts in other ways, such as:
- Uploading a zip file to the web interface on the Build Overview page
- Capturing from a drop path on a network share
- Importing from a third-party CI server such as Jenkins or TeamCity
You can deploy artifacts using the Deploy-Artifact
operation, which is optimized to only transfer files that have been modified; this will greatly decrease deployment times of large artifacts.
Artifact File Storage
BuildMaster stores artifacts on the file system, which can be a local or network file share. The path is configurable on Administration > Advanced Settings.
As of BuildMaster v7.0.17, artifacts can be hosted in a ProGet Asset Directory. This option, as well as the storage path, is configurable under Administration > Storage & Backup > Artifacts.
ProGet-hosted Packages
You can also create packages as part of your build and publish it to a feed in ProGet. Packages are essentially zip files, but they contains a manifest file that describes the contents and can be used by other tools, instead of having to be deployed by BuildMaster.
While you can create and publish any type of package, BuildMaster can keep track of Universal and NuGet packages using a Package Source.
- Universal Packages are designed for applications and components; see Create and Publish Universal Packages
- NuGet Packages are designed for .NET-based libraries; see CI/CD for NuGet Packages
Docker Container Images
You can also use Docker
within BuildMaster to create container images and publish them to a private registry like ProGet.
Like packages, BuildMaster will keep track of these externally-hosted container images using a Container Source