【问题标题】:Pulumi Azure Pipeline taskPulumi Azure Pipeline 任务
【发布时间】:2020-07-27 18:45:19
【问题描述】:

我是 Pulumi 的新手,所以我目前正在努力尝试在我的 Azure 发布管道中运行它以创建我的基础架构。 在开发过程中,我使用本地存储来存储我的 pulumi 状态 (pulumi login --local),我已经创建了我的堆栈(开发人员就是其中之一),并且我能够轻松地针对我的 azure 订阅测试我的部署脚本。 现在我已经将我的代码推送到源代码控制,由构建管道创建(有效),我正在尝试使用 Pulumi Azure Pipelines Task 从发布管道创建我的基础架构。 我已经设法将它配置为将 blob 存储用于状态文件,但是在为开发堆栈运行 pulumi up --yes --skip-preview 时,我收到一个错误,即开发堆栈不存在。

我需要在我使用的每个“商店”上都写一个pulumi stack init dev 吗? Pulumi.stack_name.yaml 文件还不够吗?

欢迎任何关于如何进行的建议,因为这方面的文档不存在或不清楚。

谢谢!

【问题讨论】:

    标签: azure-devops azure-pipelines pulumi


    【解决方案1】:

    该错误可能是由于您的 Blob 存储中不存在堆栈造成的。

    如果您使用pulumi login --local。堆栈将在您的本地计算机中进行管理,并且不会同步到 Azure Blob 存储。查看here 了解更多登录选项。

    在我的测试管道中。我收到错误:找不到名为“dev”的堆栈。如果 app.pulumi.com 上不存在 dev。如果我在 app.pulumi.com 上创建了开发(我使用 pulumi.com 进行存储),它会按预期工作。

    所以请到 azure blob 检查开发堆栈是否存在。如果不存在,您需要在 azure blob 上为您的帐户创建一个。

    如果您想将本地端点迁移到 azure blob。请检查步骤here

    一旦堆栈存在于您的 azure blob 中。可以直接在 azure devopline 的 pulumi 任务中运行pulumi up --yes --skip-preview。无需run pulumi stack init dev 请确保 登录参数 为空以使用在线堆栈。如果你指定--local,你也会得到错误,因为代理机器中不存在堆栈。

    您还可以启用选项Create the stack if it does not exist 以让 pulumi 任务在您的 azure blob 上找不到堆栈时创建堆栈。

    Here 是 Pulumi 官方文档中与 azure devops 集成的示例。希望对您有所帮助!

    【讨论】:

    • 好吧...显然“如果堆栈不存在则创建堆栈”复选框不够大 :D 我刚刚检查了一下,任务运行起来就像一个魅力 :)(ps :我不想使用 app.pulumi.com 并且我已经提到我已经将任务配置为执行pulumi login azblob://mycontainer - 可能没有说得很明显)。非常感谢您的帮助!
    • 嗨@AndreiC 很高兴我能帮上忙。你能接受吗?如果您认为上述解决方案可以作为答案。提前致谢!
    猜你喜欢
    • 2020-06-11
    • 2020-10-05
    • 2021-07-30
    • 1970-01-01
    • 1970-01-01
    • 2020-12-01
    • 2020-03-02
    • 1970-01-01
    • 2020-12-18
    相关资源
    最近更新 更多