使用hashicorp/azurerm提供程序,我想设置一个webhook来触发部署。
我有一个Web应用程序,在重启时加载最新的Docker镜像。然而,**我需要一个scmUri
**的资源来设置webhook:
resource "azurerm_linux_web_app" "web" {
app_settings = {
DOCKER_REGISTRY_SERVER_URL = url
DOCKER_REGISTRY_SERVER_USERNAME = data.azurerm_key_vault_secret.acr-service-principal-id.value
DOCKER_REGISTRY_SERVER_PASSWORD = data.azurerm_key_vault_secret.acr-service-principal-password.value
...
}
...
}
resource "azurerm_container_registry_webhook" "webhook" {
service_uri = "<scm URL of the azurerm_linux_web_app.web>/docker/hook"
...
}
我已经找到了一种方法来查询scmUri
使用各种其他语言.但是没有使用azurepm
提供程序:
- REST:https://learn.microsoft.com/en-us/rest/api/appservice/web-apps/list-publishing-credentials
- 二头肌:https://github.com/Azure/bicep/discussions/3352#discussioncomment-976818
- Pulumi:将Azure Web App Service Web挂钩添加到Azure容器注册表以进行持续部署
在部署完所有内容后,我也可以从Azure手动复制scmUri
,但我更喜欢完全自动化的设置:
1条答案
按热度按时间neekobn81#
这就是我的工作:
service_uri
与问题下的评论中的URL有点不同(因此请确保检查您的webhook URL在Web应用程序的部署中心部分中的外观),我不得不使用.web.site_credential.0.name
而不是.web.site_credential.0.username
来访问正确的属性。