如何手动触发容器刷新

时间:2017-10-16 09:22:25

标签: azure for-loop web-applications containers

我在Azure中使用WebApp for Container,目前我在Jenkins中构建自己的容器并将其推送到我自己的私有注册表。

我自己的私有注册表是非常基本的,没有WebHook的功能,所以我想在我的Jenkins工作流程中添加以触发容器刷新。

我已按照以下步骤操作:https://docs.microsoft.com/en-us/azure/app-service/containers/app-service-linux-ci-cd我获得了网址,但当我尝试卷曲时,我得到了:

401 - 未经授权:由于凭据无效,访问被拒绝。如果我执行GET请求,请执行以下操作:

curl https:// $ user:password@mysite.scm.azurewebsites.net/docker/hook

HTTP错误411.请求必须分块或具有内容长度。如果我发出POST请求

curl -X POST curl https:// $ user:password@mysite.scm.azurewebsites.net/docker/hook

我应该如何使用Curl来触发此请求?

谢谢,

3 个答案:

答案 0 :(得分:2)

解决方案:

简单如下:

curl -X POST'curl https:// $ user:password@mysite.scm.azurewebsites.net/docker/hook'-H''-d''

答案 1 :(得分:0)

不要忘记在用户名开头转义美元符号。

所以,例如:

curl https://\$user:password@mysite.scm.azurewebsites.net/docker/hook'

答案 2 :(得分:0)

首先

curl -X POST curl https://$user:password@mysite.scm.azurewebsites.net/docker/hook

第一个错误在$user上。当您以$开头的单词时,终端会认为这是一个环境变量。因此,对于您的终端考虑者来说,它是一个字符串,您必须在\之前放置一个$

现在我们有了

curl -X POST curl https://\$user:password@mysite.scm.azurewebsites.net/docker/hook

第二个错误是因为此URL中包含一些特殊字符。因此,您必须在引号之间加上

现在,我们有这个

curl -X POST curl "https://\$user:password@mysite.scm.azurewebsites.net/docker/hook"

完成后,我们必须在命令末尾添加参数-H-d

现在命令

curl -X POST curl "https://\$user:password@mysite.scm.azurewebsites.net/docker/hook" -d -H

应该工作。