Deployment Freeze is a Harness Governance feature that stops all Harness deployments. A deployment freeze helps ensure stability during periods of low engineering and support activity, such as holidays, trade shows, or company events. For steps to freeze deployments through Harness API, see Use Deployment Freeze API.
In this topic:
- Before You Begin
- Deployment Freeze Overview
- Step: Add a Freeze Window
- Option: Start Now
- Option: Create a Schedule
- Step: Notifications
- Step: Submit
- Enable Deployment Freeze
- Verify Deployment Freeze
- Disable Deployment Freeze
- Override Deployment Freeze
- Upgrade from a Harness Trial
- Next Steps
Before You Begin
Deployment Freeze Overview
Typically, the more automated a deployment is, the safer it becomes. Automated deployments remove the errors that cause risk because they are a continual process.
Yet, there are times when even the few personnel needed for Harness deployments are occupied with other events, such as holidays. In these cases, freezing deployments helps prevent deployments from introducing new issues.
Freezing Harness deployments does not mean that changes aren't happening in the deployment environment. User and system events are always taking place, and your microservice dependencies remain active.
When a deployment freeze window is enabled:
- Deployments cannot be started manually or using a Trigger.
- Active deployments are allowed to complete.
- During execution if a Pipeline hits a stage with an Environment that has a deployment freeze enabled, then the Pipeline gets rejected. You can resume the rejected Pipelines from the previous state once the deployment freeze window is over. See Resume Pipeline Deployments.
- If a Pipeline or a Workflow hits a stage with an Environment that has a deployment freeze enabled before the execution starts, then you need to Trigger the deployment again. You can Trigger the deployment once the deployment freeze window is over. See Trigger Workflows and Pipelines.
Step: Add a Freeze Window
Perform the following steps to add a Freeze Window:
- In the Deployment Governance page, click Add freeze window.
- In Deployment Freeze Window, in Name, enter a name for your freeze window.
- In Freeze Window, select Applications and Environment Type to restrict the Deployment Freeze Window to one or multiple Harness Applications.
- In Application, select the application. You can select multiple Applications.
- In Environment Type, select the environment type.
- In Environment, select the Environment. Environment(s) option is enabled only if you select a Harness Application and Specific Environment(s) in the Environment Type.
- Click Add Row to add more Applications, Environment Type, and Environment.
- In Select Time Zone, select a timezone from the drop-down list.
- Select Create a Schedule or Start Now.
Option: Start Now
If you select Start Now, simply select how long you want the freeze to last in Duration.
Option: Create a Schedule
The Create a Schedule option allow you to schedule the freeze and set how often it repeats.
In Starts and Ends, use the date picker to set a start and end date and time. The freeze window should be of minimum 30 minutes.
The date and times use UTC.
In Repeats, select how often the to repeat the freeze.
In Until, select Forever or On.
The default for Forever is 5 years from the current date.
In On, enter a date when the freeze schedule ends.
Let's say your Start and End dates are June 15, 2021, 6:45 pm – June 15, 2021, 7:15 pm.
- Daily: the freeze will happen every day from 6:45 pm to 7:15 pm until the On date.
- Weekly: June 15th is a Tuesday, so the freeze will happen every Tuesday until the On date.
- Monthly: the freeze will happen on the 15th of every month until the On date.
- Annually: the freeze will happen every year on June 15th until the On date.
In Notify to select the user group to notify when the deployment freeze starts.
For information on setting up the notification channels for a User Group, see User Notifications and Alert Settings.
The added user group is notified of the activation and deactivation of the deployment freeze window.
The Deployment Governance page now displays the Deployment Freeze Window that you've set.
Enable Deployment Freeze
Perform the following steps to freeze both manual and Trigger-based deployments:
- In Harness Manager, in Security, select Governance. The Deployment Governance settings appear.
- Slide the Disable all deployments slider to ON to enable the deployment freeze.If the Deployment Freeze is set to ON, then all the deployments are frozen and the scheduled Deployment Freeze Windows are not used. The scheduled deployment freeze window gets overridden.
- In Deployment Governance, in Deployment Freeze Windows, slide the slider to ON for the deployment freeze window for which you want to enable the deployment freeze.
- You can also view Last Updated By and all the scheduled Deployment Freeze Windows details.
Verify Deployment Freeze
When the Deployment Freeze setting is enabled, the Start New Deployment button is disabled in Continuous Deployments.
The following other Harness Manager elements are also disabled:
- Rerun deployment button in Deployments.
- Deploy button in Workflow.
- Deploy button in Pipeline.
If the Deployment Freeze setting is not enabled, but a Deployment Freeze Window is in effect, the Start New Deployment button is not disabled, but an error message appears when it is clicked.
Disable Deployment Freeze
To disable Deployment Freeze (including any scheduled Freeze Windows), just move the Disable all deployment page's slider back to OFF, and then click Confirm when prompted.
Override Deployment Freeze
You can start a deployment even if there is an active Deployment Freeze window. You must be an Admin with the Allow Deployments During Freeze permission to do this. To override the deployment freeze window, just start, resume, or rerun the deployment for an Application, Workflow, or Pipeline with an active deployment freeze window, click Confirm.
Upgrade from a Harness Trial
If you enable Deployment Freeze while you are using Harness Community Edition, and then upgrade to Harness Essentials or Professional, your Deployment Freeze settings are retained but not applied at runtime in the Professional Edition. You must re-enable the Deployment Freeze in Harness Professional.
Review the following Harness features that help you monitor and control deployments: