×

使用 Webhook,您可以随时更改源代码并自动触发构建和部署。有关此过程的更多信息,请参阅触发构建

步骤
  1. 要在终端中获取 GitHub Webhook 触发器密钥,请运行以下命令:

    $ oc get bc/ostoy-microservice -o=jsonpath='{.spec.triggers..github.secret}'
    示例输出
    `o_3x9M1qoI2Wj_cz1WiK`

    您需要在稍后的步骤中使用此密钥。

  2. 要从 OSToy 的 buildconfig 获取 GitHub Webhook 触发器 URL,请运行以下命令:

    $ oc describe bc/ostoy-microservice
    示例输出
    [...]
    Webhook GitHub:
    	URL:	https://api.demo1234.openshift.com:443/apis/build.openshift.io/v1/namespaces/ostoy-s2i/buildconfigs/ostoy/webhooks/<secret>/github
    [...]
  3. 在 GitHub Webhook URL 中,将<secret>文本替换为您检索到的密钥。您的 URL 将类似于以下示例输出:

    示例输出
    https://api.demo1234.openshift.com:443/apis/build.openshift.io/v1/namespaces/ostoy-s2i/buildconfigs/ostoy-microservice/webhooks/o_3x9M1qoI2Wj_czR1WiK/github
  4. 在 GitHub 存储库中设置 Webhook URL。

    1. 在您的存储库中,单击**设置 > Webhook > 添加 Webhook**。

      Add Webhook
    2. 将包含“密钥”的 GitHub Webhook URL 粘贴到“有效负载 URL”字段中。

    3. 将“内容类型”更改为application/json

    4. 单击**添加 Webhook**按钮。

      Finish Add Webhook

      您应该会看到 GitHub 发出的消息,说明您的 Webhook 已成功配置。现在,每当您向 GitHub 仓库推送更改时,都会自动启动新的构建,并在构建成功后启动新的部署。

  5. 现在,更改源代码。任何更改都会自动触发构建和部署。在此示例中,表示 OSToy 应用程序状态的颜色是随机选择的。要测试配置,请将方框更改为仅显示灰度。

    1. 转到您仓库中的源代码 https://github.com/<username>/ostoy/blob/master/microservice/app.js

    2. 编辑文件。

    3. 注释掉第 8 行(包含 `let randomColor = getRandomColor();`)。

    4. 取消注释第 9 行(包含 `let randomColor = getRandomGrayScaleColor();`)。

      7   app.get('/', function(request, response) {
      8   //let randomColor = getRandomColor(); // <-- comment this
      9   let randomColor = getRandomGrayScaleColor(); // <-- uncomment this
      10
      11  response.writeHead(200, {'Content-Type': 'application/json'});
    5. 输入更新消息,例如“将方框更改为灰度颜色”。

    6. 单击底部的**提交**按钮,将更改提交到主分支。

  6. 在集群的 Web UI 中,单击**构建 > 构建**以确定构建的状态。此构建完成后,将开始部署。您也可以通过在终端中运行 `oc status` 来检查状态。

    Build Run
  7. 部署完成后,返回浏览器中的 OSToy 应用程序。访问左侧的**网络**菜单项。方框颜色现在仅限于灰度颜色。

    Gray