谢谢。
Joy的上述答案很有帮助。我已经重写了它,以阐明获取SSH“部署密钥”的步骤。
前往Gitlab代码库并点击 Clone 按钮。复制 Clone with SSH 地址。
同时请准备好您的Gitlab账户用户名和密码。
在Azure门户中进入Web应用资源,然后进入 Deployment Center。选择 External 选项。我们将使用 “App Service build service”。接下来输入步骤1中的数据。点击 Continue 完成设置。
接下来我们需要获取SSH 'deploy key'。
https://$mysite:BigRandomPassword@mysite.scm.azurewebsites.net/deploy
/deploy
为 /api/sshkey?ensurePublicKey=1
。所以它应该是:
https://$mysite:BigRandomPassword@mysite.scm.azurewebsites.net/api/sshkey?ensurePublicKey=1
ssh-rsa AAAAB3NzaC1etc...
(这些步骤来自于Kudu文档)
在GitLab中转到 Settings -> Repository -> Deploy Keys 并单击 Expand。在此处添加标题和SSH 'deploy key',然后保存。通过返回到Azure门户中的 Deployment Center 并单击 Sync 按钮进行测试。如果一切正常,则可以正常工作。
然后我们将配置持续部署。在GitLab中转到 Settings -> Integrations -> 编写 URL(这是我们之前在 Properties 中使用过的 Deployment Trigger URL)。为了保存,请单击 Add webhook 按钮。
在GitLab项目中创建新文件(或提交更改),它将自动部署到Web应用程序中。
虽然 Azure 门户和 GitLab 的用户界面已经有所改变,但步骤仍然相似。
评论中的链接非常有用,我已经测试过了,可以正常使用。 为了防止链接在将来失效,我总结了以下内容。
1. 在门户中的 Web 应用程序 -> 部署中心
-> 外部
-> 应用服务构建服务
-> 输入以下信息 -> 下一步完成。
您可以通过GitLab项目中的Clone
按钮获取Repository
,Username
和Password
是您GitLab账户的信息。
2. 在你的GitLab中 -> 设置
-> 存储库
-> 部署密钥
-> 展开
-> 添加位于https://<webapp-name>.scm.azurewebsites.net/api/sshkey?ensurePublicKey=1
中的密钥(ssh-rsa xxxxxx
)。然后你可以在门户中的部署中心
测试同步
,它应该可以工作。
3. 然后我们配置持续部署,在你的GitLab中 -> 设置
-> 集成
-> 编写URL
(你可以在Web应用程序中获取它 -> 属性
-> 部署触发器URL
) -> 添加Webhook
。
4. 然后我在GitLab项目中创建一个新文件,它会自动部署到Web应用程序中。