我正在尝试从脚本部署Azure应用程序。 已经为外部git存储库部署设置了Azure。 我已将部署密钥(Azure的SSH公钥)设置为Gitlab
以下作品
curl -X POST
-H "Content-type: application/json"
-d "{'format':'basic', 'url':'https://GITLABUSER:GITLABUSERPASSWORD@gitlab.com/MYTEAM/MYGIT.git'}"
-u "AZUREUSERNAME:AZUREPASSWORD"
https://MYSITE.scm.azurewebsites.net/deploy
有没有办法在请求中不指定Gitlab用户和密码,因为Azure已经知道要从哪里获取Git的地址?
答案 0 :(得分:0)
如果没有用户名/密码,根据code在处理GitLab时明确检查它们的存在情况,它看起来不起作用。
更好的方法是使用ARM同步API,而不是直接与(较低级别)Kudu API对话。例如关于如何使用PowerShell调用它的示例here:
Invoke-AzureRmResourceAction -ResourceGroupName $ResourceGroupName -ResourceType Microsoft.Web/sites -Name $SiteName -Action sync -ApiVersion $WebAppApiVersion -Force
您可以通过支持进行ARM API调用的任何机制调用相同的API。
尝试在有效负载中传递ssh url而不是https。我相信它会做正确的事。