Pulumi Stack 命令不能找到默认的 Stack

在有些时候,我们可能会将系统环境中的 Pulumi 使用的 Token 进行更换。

当我们对 Token 进行更换后,你会发现 使用命令 ‘pulumi stack ls’ 查看当前项目的 stack 一直访问的是老的 stack。

原因和解决

这是因为 pulumi 在第一次运行的时候会从系统环境变量中获取 Token。

在随后的运行中就不会再次获取 Token 了,pulumi 缓存了你的 Token。

缓存的文件名叫做 credentials.json,如果你是手动方式安装 pulumi 的话,这个文件就在:你安装的路径下面。

文件的内容如下图显示的内容。

可以看到的是在这上面保存有 pulumi 的 token 信息。

如果希望 pulumi 从新从环境变量中获取 Token 数据的话,那么你只需要手动删除这个文件即可。

Jenkins

如果你使用的是类似 Jenkins 的 CI 工具的话。

这个文件保存的路径为:/var/lib/jenkins/.pulumi/credentials.json

你需要将这个文件删除来让编译工具重新载入 Token。