将GitLab Web应用部署到Azure应用服务

3
大家好,我刚接触Gitlab和Azure。目前我有一个Gitlab仓库,想将其部署到Azure,但我一直无法实现这个目标。我尝试按照此 link 的步骤进行操作,但信息已经过时了。请问是否有最新的链接或资源可以帮助我实现这个目标?
谢谢。

请参考以下链接:https://github.com/projectkudu/kudu/wiki/Continuous-deployment 和 https://blog.brooksjc.com/2018/12/27/gitlab-continuous-ci-cd-with-an-azure-web-app/。 - user10182254
2个回答

3

Joy上述答案很有帮助。我已经重写了它,以阐明获取SSH“部署密钥”的步骤。

  1. 前往Gitlab代码库并点击 Clone 按钮。复制 Clone with SSH 地址。

    Gitlab Repository Clone Button

    同时请准备好您的Gitlab账户用户名和密码。

  2. 在Azure门户中进入Web应用资源,然后进入 Deployment Center。选择 External 选项。我们将使用 “App Service build service”。接下来输入步骤1中的数据。点击 Continue 完成设置。

    Enter the data from step 1

  3. 接下来我们需要获取SSH 'deploy key'。

    1. 首先进入 Properties 页面并复制 Deployment Trigger Url 字段。
    2. 返回到 Deployment Center 并单击 Credentials 按钮。
    3. 将这些凭据插入到已复制的url中,如下所示: https://$mysite:BigRandomPassword@mysite.scm.azurewebsites.net/deploy
    4. 取代上面的URL中的 /deploy/api/sshkey?ensurePublicKey=1。所以它应该是: https://$mysite:BigRandomPassword@mysite.scm.azurewebsites.net/api/sshkey?ensurePublicKey=1
    5. 在这个URL上运行curl命令,返回一个SSH公钥。它是作为JSON字符串返回的,因此您需要删除引号。它应该如下所示:
      ssh-rsa AAAAB3NzaC1etc...
      复制此密钥。

    (这些步骤来自于Kudu文档)

  4. 在GitLab中转到 Settings -> Repository -> Deploy Keys 并单击 Expand。在此处添加标题和SSH 'deploy key',然后保存。通过返回到Azure门户中的 Deployment Center 并单击 Sync 按钮进行测试。如果一切正常,则可以正常工作。

    Adding deploy key to Gitlab

  5. 然后我们将配置持续部署。在GitLab中转到 Settings -> Integrations -> 编写 URL(这是我们之前在 Properties 中使用过的 Deployment Trigger URL)。为了保存,请单击 Add webhook 按钮。

    Add Gitlab Integration

  6. 在GitLab项目中创建新文件(或提交更改),它将自动部署到Web应用程序中。


2
使用SSH和私有存储库部署不受支持。这是目前显示的错误。 - Tanveer Badar
@TanveerBadar 还不支持吗?唯一的可能性是将存储库公开吗? - MarcoWirtl

1

虽然 Azure 门户和 GitLab 的用户界面已经有所改变,但步骤仍然相似。

评论中的链接非常有用,我已经测试过了,可以正常使用。 为了防止链接在将来失效,我总结了以下内容。

1. 在门户中的 Web 应用程序 -> 部署中心 -> 外部 -> 应用服务构建服务 -> 输入以下信息 -> 下一步完成。

enter image description here

您可以通过GitLab项目中的Clone按钮获取RepositoryUsernamePassword是您GitLab账户的信息。

enter image description here

2. 在你的GitLab中 -> 设置 -> 存储库 -> 部署密钥 -> 展开 -> 添加位于https://<webapp-name>.scm.azurewebsites.net/api/sshkey?ensurePublicKey=1中的密钥(ssh-rsa xxxxxx)。然后你可以在门户中的部署中心测试同步,它应该可以工作。

3. 然后我们配置持续部署,在你的GitLab中 -> 设置 -> 集成 -> 编写URL(你可以在Web应用程序中获取它 -> 属性 -> 部署触发器URL) -> 添加Webhook

4. 然后我在GitLab项目中创建一个新文件,它会自动部署到Web应用程序中。

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接