版本管理通过**环境(environments)和版本(versions)**的组合来发挥作用。
stateDiagram-v2
V2: 版本 2
V22: 版本 2 <br/>(手动应用)
V23: 版本 2 <br/>(从开发环境升级)
V24: 版本 2 <br/>(从暂存环境升级)
Revert: 生产环境 (回滚)
V1: 版本 1 <br/>(因问题回滚)
V2 --> Development
Development --> Staging
Staging --> Production
Production --> Revert
state Development {
V22
}
note right of Development
在每个级别,测试然后升级版本。
end note
state Staging {
V23
}
state Production {
V24
}
state Revert {
V1
}
note right of Revert
一旦升级到某个环境,该版本就可以被回滚。
end note
环境是测试区域配置的不同版本的地方。
在您启用版本管理后,您将能够创建默认环境:
- Development(开发):旨在验证更改是否正常工作。默认的流量过滤器为:
cf.zone.name与您的区域名称匹配、Edge Server IP为特定值,且请求包含具有development=true的 cookie。 - Staging(预发布):旨在将更改发送到 Production(生产) 之前对其进行测试。默认的流量过滤器为:
cf.zone.name与您的区域名称匹配,且Edge Server IP为特定值。 - Production(生产):旨在包含应用到您区域的所有配置。您无法编辑流量过滤器(该过滤器仅为
cf.zone.name等于您的区域名称),且无法删除此环境。此环境启用了只读检查,因此推广(promote)到此环境的版本也会变为只读。
当您创建新版本时,该版本可应用于您的Development(开发) 环境(或具有最低排名的任何环境)。在开发环境中测试了某版本后,您可以将该版本升级到Staging(暂存) 环境,如果没有问题,然后再将其升级到Production(生产) 环境。
要将流量发送到特定环境,请向该环境发送与其流量过滤器 (traffic filters)中指定的模式匹配的请求。
版本是与您的区域相关的配置集合,例如 WAF 自定义规则和其他优化配置。
一旦您启用版本管理(Version Management),Cloudflare 将自动创建:
- Version Zero(版本零):您可以将其视为当前区域的配置。一旦创建了默认环境,版本零就会自动部署到这些环境中,从而保证您的实时流量不受干扰。此版本也是永久可编辑的。如果您决定禁用区域版本控制,版本零将再次成为您的区域。
- Global Configuration(全局配置):您可以在此处找到版本管理不支持的所有配置。
在环境(Environments)页面上,您可以为 Production(生产)、**Staging(预发布)**和 **Development(开发)**创建默认环境。
当您的版本准备就绪后,您就可以通过各个环境对其进行测试和升级,直到它到达生产环境(或您最终的任何环境)。
您可以随时通过选择Clone(克隆)现有版本来创建新版本,这会自动从现有版本复制配置。