gpt4 book ai didi

git - 在触发器上从 GitLab 存储库发布到 Azure Web Apps

转载 作者:太空狗 更新时间:2023-10-29 14:05:55 25 4
gpt4 key购买 nike

我在 GitLab 中有一个 git 存储库,我需要通过某种任意触发器将其发布到 Azure Web 应用程序(即它不能在存储库的每次更新时触发,但我们在如何触发发布方面相当灵活) )。据我所知,最简单的方法是创建一个 Azure Automation Powershell 脚本,该脚本将以某种方式启动,然后向 GitLab 进行身份验证,提取存储库并发布它。但是,我不确定如何在不登录 Azure 管理门户的情况下触发任意 Powershell 脚本,或者如何获取 Azure 的部署 key 以使其通过 Gitlab 进行身份验证。

这些问题可以解决吗,或者有更好的方法吗?

最佳答案

更新:更好的最新文章在这里:https://christianliebel.com/2016/05/auto-deploying-to-azure-app-services-from-gitlab/

阅读并理解该内容后,您可以查看有关 Azure 和 VSTS 的内容 https://www.visualstudio.com/en-us/docs/build/get-started/aspnet-4-ci-cd-azure-automatic#faq

旧答案:我看到这篇文章,https://github.com/projectkudu/kudu/wiki/Continuous-deployment

底部区域是最有用的部分。它应该可以在 GitLab 上运行。只是为了澄清这一点,Kudo 服务已经在您的所有 Azure Web 项目上运行,并且应该已经存在。只需将“scm”添加到 URL 即可访问。

好的,文章的底部部分在这里:

设置 Web Hook,以便 Kudu 在部署发生时收到通知

Hook URL 是 Kudu 服务上的/deploy 路径。所以它看起来像 https://mysite.scm.azurewebsites.net/deploy 。但由于该服务使用基本身份验证,因此您需要在 URL 中传递凭据。通常,您需要在此处使用站点级凭据而不是用户凭据(请参阅部署凭据)。因此完整的 URL 将类似于 https://$mysite: [email protected]/部署

获取此 URL 的最简单方法是直接从 Azure 门户复制它。您可以在“配置”选项卡的“部署触发器 URL”字段中找到它。

获得 URL 后,您可以将其设置为 GitHub/Bitbucket/GitLab Hook 。

对于私有(private)存储库,设置部署 key

如果存储库是私有(private)的,您还需要在 GitHub/Bitbucket/GitLab 上设置 SSH“部署 key ”。

这可以通过以下步骤完成:

采用上面的完整部署 URL,并将/deploy 替换为/api/sshkey?ensurePublicKey=1。所以它看起来像 https://$mysite: [email protected]/api/sshkey?ensurePublicKey=1在此 URL 上运行curl,这将返回 SSH 公钥。它以 JSON 字符串形式返回,因此您需要删除引号。它应该看起来像 ssh-rsa AAAAB3NzaC1 等...将此字符串设置为 GitHub/Bitbucket/GitLab 存储库上的“部署 key ”。

关于git - 在触发器上从 GitLab 存储库发布到 Azure Web Apps,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31538152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com