Skip to content

PublishBuildMasterPackage Task

Aaron Jensen edited this page Sep 27, 2019 · 1 revision

Overview

The PublishBuildMasterPackage task creates a release package in BuildMaster. By default, it also starts a deployment of the package to the first stage of the release's pipeline. It uses the New-BMPackage function from the BuildMasterAutomation module to create the package. It uses the Publish-BMReleasePackage to start the deployment.

Set the ApplicationName property to the name of the application in BuildMaster where the package should be published. Set the ReleaseName property to the name of the release in BuildMaster where the package should be published. Set the Uri property to the base URI to BuildMaster. Set the ApiKeyID property to the ID of the API key to use when publishing the package to BuildMaster. Use the Add-WhiskeyApiKey to add your API key.

Set the DeployTo property to map an SCM branch to its corresponding BuildMaster release where packages should be created and deployed. BranchName and ReleaseName are required. The task will fail if the current branch is not mapped to an existing release. StartAtStage and SkipDeploy are optional. By default, a deployment will start at the first stage of a release pipeline and will not be skipped.

This task downloads and uses the BuildMasterAutomation PowerShell module.

Properties

  • ApplicationName (mandatory): the name of the application in BuildMaster where the package should be published.
  • ReleaseName (mandatory): the name of the release in BuildMaster where the package should be published.
  • Uri (mandatory): the BuildMaster URI where the package should be published.
  • ApiKeyID (mandatory): the ID of the API key to use when publishing the package to BuildMaster. Use the Add-WhiskeyApiKey to add your API key.
  • PackageVariable: the variables to configure in BuildMaster unique to this package. By default, the package will not have any package-level variables.
  • PackageName: the name of the package that will be created in BuildMaster. By default, the package will be named "MajorVersion.MinorVersion.PatchVersion"
  • StartAtStage: the stage of the release pipeline where the package should start its deployment. By default, the package will be released to the first stage of the pipeline.
  • SkipDeploy: the release package should be created, but not automatically deployed. By default, the package deployment will be started.
  • BuildMasterAutomationVersion: the version of the BuildMasterAutomation PowerShell module to use. The default is the latest 0.5.* version. Be careful about changing the version. The task may not support newer/olders versions.

Examples

Example 1

Publish:
- PublishBuildMasterPackage:
    ApplicationName: TestApplication
    ReleaseName: ProdRelease
    Uri: https://buildmaster.example.com
    ApiKeyID: buildmaster.example.com

Demonstrates the minimal configuration needed to create and deploy a package. In this case, a package will be created on the ProdRelease release of the TestApplication application at https://buildmaster.example.com using the API key with the buildmaster.example.com ID. The package will be deployed to the first stage of the release's pipeline.

Example 2

Publish:
- PublishBuildMasterPackage:
    ApplicationName: TestApplication
    ReleaseName: ProdRelease
    Uri: https://buildmaster.example.com
    ApiKeyID: buildmaster.example.com
    PackageName: TestPackage
    StartAtStage: TestStaging

In this case, the package will be named TestPackage instead of the default "MajorVersion.MinorVersion.PatchVersion". The package will be deployed to TestStaging stage of the ProdRelease release's pipeline.

Example 3

Publish:
- PublishBuildMasterPackage:
    ApplicationName: TestApplication
    ReleaseName: ProdRelease
    Uri: https://buildmaster.example.com
    ApiKeyID: buildmaster.example.com
    SkipDeploy: true

In this case, a package will be created on the ProdRelease release of the TestApplication application. The package will not be deployed because the SkipDeploy property is defined.

Clone this wiki locally