我使用pulumi和azure-native包来创建azure基础设施。我创建静态Web应用程序:
const staticApp = new azureNative.web.StaticSite(
"test",
{
resourceGroupName: "test-static-site",
location: location,
name: getResourceName(projectResources.staticSite)
});
稍后,我想使用AzureStaticWebApp@0
管道任务将文件部署到这个应用程序:
- task: AzureStaticWebApp@0
displayName: 'Deploy'
inputs:
app_location: '/.../build'
api_location: '/.../api'
output_location: ''
skip_app_build: true
azure_static_web_apps_api_token: '???'
我希望azure_static_web_apps_api_token
是pulumi azureNative.web.StaticSite
的一部分,但它不在那里。有没有办法从pulumi输出中获取这个令牌值?
3条答案
按热度按时间hgc7kmma1#
如果您使用Pulumi创建Azure静态站点并使用其他管道技术进行部署,则需要在使用Azure CLI进行部署期间明确获取Azure部署令牌
你可以在这里找到一个例子(不是我的)https://blog.johnnyreilly.com/2021/12/05/azure-static-web-app-deploy-previews-with-azure-devops#azure-pipelines-tweaks
j91ykkif2#
可以使用azureNative.web.listStaticSiteSecretsOutput。
但是,您应该在调用函数之前Assert资源源已创建。
你可以这样做
ssgvzors3#
这个值是由你提供的。它是任务的输入,需要提供给Azure DevOps Pipeline和Azure静态网站资源。
您可以在这里看到输入属性
您可以使用的一个选项是使用Pulumi生成一个随机秘密,导出它,然后将此选项输入到您的管道中。
现在,您需要从CLI导出此值,如下所示:
使用以下步骤将此变量输入到管道中:https://learn.microsoft.com/en-us/azure/static-web-apps/publish-devops#create-the-pipeline-task-in-azure-devops