en-US/about_Whiskey_PublishBuildMasterPackage_Task.help.txt

TOPIC
    about_Whiskey_PublishBuildMasterPackage_Task
 
 
SUMMARY
    Creates and deploys a release package in BuildMaster.
 
 
DESCRIPTION
    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](https://www.powershellgallery.com/packages/BuildMasterAutomation).
 
 
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.