GitLab 持续部署到 Azure Web App

GitLab Continuous Deployment to Azure Web App

我希望能够从 GitLab 存储库使用持续部署到 Azure webapp 部署槽。指定分支 这样我就可以为这些准备一个暂存和开发槽各自的 git 个回购分支。

使用下面的两个链接,我设法将我的网站配置为在我的部署槽之一上使用持续部署。

https://forum.gitlab.com/t/is-there-true-gitlab-azure-continuous-deployment/2162/4

https://github.com/projectkudu/kudu/wiki/Continuous-deployment

然而,由于缺少 GitLab 提供程序,这是一种绕过的方法,似乎无法指定分支。

gitlab-azure 集成似乎是

  1. 用户提交到 GitLab 存储库
  2. 这会触发一个 GitLab webhook,它 post 将一些数据发送到 azure webapp 端点上的 kudu。
  3. Kudu 使用 webhookpost 中的详细信息访问 gitlab 存储库,它使用的凭据来自 Gitlab DeployKey。

这意味着 gitlab 需要在 webhook post.

中提供分支详细信息

我确实尝试通过 https://resources.azure.com/

编辑分支值

https://resources.azure.com/subscriptions/<MYSUBSCRIPTIONGUID>/resourceGroups/<MYRESOURCEGROUPNAME>/providers/Microsoft.Web/sites/<MYSITE>/slots/<MYSLOT>/sourcecontrols/web

然而,更改此节点中的任何值并保存失败,因为 Gitlab 解决方法似乎允许输入解析失败的 repoUrl。

我在 Kudu 存储库 (https://github.com/projectkudu/kudu/issues/1960) 中创建了一个问题,但似乎 Gitlab 方面需要解决这个问题。但是,我没有对我提出的问题做出任何回应。 https://gitlab.com/gitlab-org/gitlab-ee/issues/455

您可以通过在您的 Azure Web 应用程序上设置名为 deployment_branch 的 AppSetting 来实现。

请注意,Azure 不依赖 WebHook 负载来了解要部署的分支。所以如果你推送到不同的分支,它仍然会尝试从它被配置使用的分支中拉出,并且最终什么都不做,因为它是最新的。即使您使用 GitHub 而不是 GitLab,也是如此。