【问题标题】:Persisting values across re-execution of release pipeline in Azure DeOops在 Azure DeVops 中重新执行发布管道时保留值
【发布时间】:2019-04-04 08:13:28
【问题描述】:

我正在 Azure DevOps 中配置发布管道,并且我希望随着任务生成的变量在重新执行同一发布时保持不变。我想知道这是否可能。 主要目标是创建一个管道,在发生故障时我可以重新部署,例如,如果我有一个包含 30 个任务的发布管道,我希望处理跳过已完成的任务,但是一旦我到达相关任务,我需要持久化的变量值。

我在网上查了一下,发现不可能跨阶段持久化变量,但这是否也意味着如果我重新部署它就不能在同一个发布管道中持久化?

通过搜索堆栈交换和谷歌,我得到了关于该主题的以下 GitHub 问题,我只是不确定它是否也会以同样的方式影响我自己的情况。

https://github.com/Microsoft/azure-pipelines-tasks/issues/4743

【问题讨论】:

    标签: azure-devops azure-pipelines azure-pipelines-release-pipeline


    【解决方案1】:

    除非我解释错了,否则默认情况下你有这个。重新部署相同的发布管道变量时,您定义(在管道中)的值不会改变。

    计算的值不会持久化

    【讨论】:

    • 嗨,我很抱歉没有更清楚一点,我的意思是在任务本身内部计算的变量。我已经编辑了我的问题
    • 仍然不可能,仅适用于构建,但不适用于重新执行。通过重新执行,它们将被重新计算......您可以添加一个脚本任务来从发布内部更新发布定义中的变量值。再次,这将在每次运行时执行。所以我真的不明白你想要达到什么目的
    • 我想为发布管道创建一个选项,以便从出现错误的位置恢复。如果我有 30 个任务并且任务 27 失败,我想从它恢复。发布管道将从第一个任务开始,但我正在处理跳过已完成步骤的功能,我只想让连续任务具有我最初计算的值。
    • 从技术上讲,您可以查询 api 并找出管道在上次运行时失败的位置
    • 这将帮助我恢复失败的步骤,但不会保留变量(除非我将它们保存在外部文件或某个天蓝色存储帐户中)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多