【问题标题】:How to trigger manually container refresh如何手动触发容器刷新
【发布时间】:2017-10-16 09:22:25
【问题描述】:

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

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

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

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 发出请求来触发这个?

谢谢,

【问题讨论】:

    标签: azure for-loop web-applications containers


    【解决方案1】:

    解决办法:

    简单如下:

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

    【讨论】:

      【解决方案2】:

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

      所以,例如:

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

      【讨论】:

        【解决方案3】:

        首先

        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
        

        应该可以。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-12-13
          • 1970-01-01
          • 1970-01-01
          • 2015-07-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多