Deployment Rings

What are they and why?

Deployment rings are a concept where you tag and enable a single or group of machines to be eligible for a specific configuration item. This allows more granular control of deploying different package scenarios and updates without risking a potentially failed large scale change.

The ring names given really just correlate to a specific weighted value to prioritize packages. The majority of your packages should remain in the broad or default Ring. While others are used for orchestration purposes.

@{
    'vmware-horizon-client Broad' = @{
        Name           = 'vmware-horizon-client'
        Ensure         = 'Present'
        MinimumVersion = '5.5.1.17575367'
        Ring           = 'Broad'
    }
    'vmware-horizon-client Fast'  = @{
        Name           = 'vmware-horizon-client'
        Ensure         = 'Present'
        MinimumVersion = '8.2.0.17759012'
        Ring           = 'Fast'
    }
    'vmware-horizon-client Pilot' = @{
        Name        = 'vmware-horizon-client'
        Ensure      = 'Present'
        AutoUpgrade = $true
        Ring        = 'Pilot'
    }
}

Tagging a Machine

The cChocoEx module includes a special function for this. Valid rings are: Canary/Preview, Pilot, Fast, and Broad/Slow

Set-cChocoExRing -Ring Fast

Last updated

Was this helpful?