能部署吗、推进到哪
(env_of(分支):main 上 prod、其它上 staging;can_deploy(全绿, 已审批) 两者都真才 True;stage_flow(各环境结果) 按顺序逐级推进、遇失败停,交回推进到的最后一个环境。)
问「全绿但没审批能不能部署」,以及一次 staging 过、prod 挂的推进到哪:
def env_of(branch):
"""按分支决定部署到哪个环境:main 上 prod,其它分支上 staging。"""
return "prod" if branch == "main" else "staging"
def can_deploy(green, approved):
"""流水线全绿、且审批通过,才允许部署。"""
return green and approved
def stage_flow(steps):
"""steps: [(环境, 通过?)],按顺序逐级推进(如 staging→prod),遇失败就停。交回推进到的最后一个环境;一个都没过交回空串。"""
reached = ""
for env, ok in steps:
if not ok:
return reached
reached = env
return reached
a = can_deploy(True, False)
b = stage_flow([("staging", True), ("prod", False)])
print(str(a) + "/" + b)
全部评论