Problem
There is currently no way to disable continuous deployment globally. The only option is to set ContinuousDeployment: false inside each DeployTo<environmentname> block — one entry per environment per repository.
This is a significant gap for anyone who:
- Uses GitHub environments (created manually or by AL-Go) but wants deployments to be purely manual (via Publish To Environment)
- Manages many repositories from organization-level settings (
ALGoOrgSettings)
- Wants to set a safe org-wide default and selectively opt specific environments back in
Without this, the only workarounds are:
- Enumerate every environment name across every repo in
ALGoOrgSettings with per-env continuousDeployment: false — fragile, verbose, breaks with new environments
- Change
CICDPushBranches to a dummy value — disables the entire CICD workflow, not just deployment
- Use GitHub environment branch protection policies — also affects the Publish To Environment workflow
Proposed Solution
Add a top-level continuousDeployment setting that acts as a global default for all environments.
Priority order (lowest to highest):
- Name-based convention (
(PROD) / (FAT) suffix → false, otherwise → true) — existing default
- Global
continuousDeployment setting ← new
- Per-environment
DeployTo<name>.ContinuousDeployment ← existing, still wins
Example usage in ALGoOrgSettings:
{
"continuousDeployment": false
}
This disables automatic CD for all environments in all repos in the org. Individual environments can still opt in:
{
"continuousDeployment": false,
"DeployToProduction": { "continuousDeployment": true }
}
The Publish To Environment workflow is unaffected — it uses type: 'Publish' which ignores continuousDeployment entirely.
Implementation
The change is minimal — 4 lines in DetermineDeploymentEnvironments.ps1 after per-environment settings are resolved:
if ($null -eq $deploymentSettings.continuousDeployment -and $null -ne $settings.continuousDeployment) {
$deploymentSettings.continuousDeployment = $settings.continuousDeployment
}
Plus adding the setting to defaults and schema. Full implementation in the linked PRs.
Problem
There is currently no way to disable continuous deployment globally. The only option is to set
ContinuousDeployment: falseinside eachDeployTo<environmentname>block — one entry per environment per repository.This is a significant gap for anyone who:
ALGoOrgSettings)Without this, the only workarounds are:
ALGoOrgSettingswith per-envcontinuousDeployment: false— fragile, verbose, breaks with new environmentsCICDPushBranchesto a dummy value — disables the entire CICD workflow, not just deploymentProposed Solution
Add a top-level
continuousDeploymentsetting that acts as a global default for all environments.Priority order (lowest to highest):
(PROD)/(FAT)suffix → false, otherwise → true) — existing defaultcontinuousDeploymentsetting ← newDeployTo<name>.ContinuousDeployment← existing, still winsExample usage in
ALGoOrgSettings:{ "continuousDeployment": false }This disables automatic CD for all environments in all repos in the org. Individual environments can still opt in:
{ "continuousDeployment": false, "DeployToProduction": { "continuousDeployment": true } }The
Publish To Environmentworkflow is unaffected — it usestype: 'Publish'which ignorescontinuousDeploymententirely.Implementation
The change is minimal — 4 lines in
DetermineDeploymentEnvironments.ps1after per-environment settings are resolved:Plus adding the setting to defaults and schema. Full implementation in the linked PRs.