Pulumi Azure管道任务

3

我刚开始接触Pulumi,现在正在努力尝试在我的Azure发布流水线中运行它以创建基础架构。

在开发过程中,我使用本地存储来存储我的Pulumi状态(pulumi login --local),创建了我的堆栈(其中一个是dev),并且能够轻松地针对我的Azure订阅测试我的部署脚本。

现在我将代码推送到源代码控制中,并使用了我的构建流水线(可正常工作),通过使用Pulumi Azure Pipelines任务来创建我的基础架构。

我已成功配置它以使用blob存储状态文件,但当运行pulumi up --yes --skip-preview来为dev堆栈创建基础架构时,我会收到一个错误,指出dev堆栈不存在。

我需要在每个“存储”上执行pulumi stack init dev吗? Pulumi.stack_name.yaml文件不足以维护吗?

如果您有任何建议,请告诉我。因为这方面的文档非常少或者不够清晰。

谢谢!

1个回答

4
错误可能是由于堆栈在您的Blob存储中不存在引起的。
如果您使用pulumi login --local,则堆栈将在本地机器上管理,并且不会与Azure Blob存储同步。有关更多登录选项,请查看此处
在我的测试管道中,我收到错误消息:未找到名为“dev”的堆栈。如果在app.pulumi.com上不存在dev,则会出现此错误。如果我在app.pulumi.com上创建了dev(我使用pulumi.com进行存储),则可以按预期工作。
因此,请转到Azure Blob以检查是否存在dev堆栈。如果不存在,请为您的帐户在Azure Blob上创建一个堆栈。
如果您想将本地终结点迁移到Azure Blob,请查看此处的步骤。
一旦堆栈存在于您的Azure Blob中,您可以在Azure DevOps的pulumi任务中直接运行pulumi up --yes --skip-preview。无需运行run pulumi stack init dev。 请确保登录参数为空以使用在线堆栈。如果指定了--local,则也会出现错误,因为堆栈不存在于代理机器中。

enter image description here

您还可以启用选项如果不存在则创建堆栈,让pulumi任务在Azure Blob上未找到堆栈时创建它。

enter image description here

这里是Pulumi官方文档中与Azure DevOps集成的示例。希望对您有所帮助!


好的...显然,“如果不存在则创建堆栈”复选框不够大:D 我刚刚勾选了它,任务就像魔法一样运行了:) (附言:我不想使用app.pulumi.com,并且我已经提到我配置了任务来执行pulumi login azblob://mycontainer - 可能没有让它明显)。非常感谢您的帮助! - AndreiC
1
嗨@AndreiC,很高兴我能帮忙。如果您认为上述解决方案可以作为答案,请接受它。提前致谢! - Levi Lu-MSFT

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接