所以我有一个自托管的 Artifactory 存储库,我想将其与 Jenkins 管道一起使用,我使用 ngrok 部署了 Jenkins,以便拥有一个假域名。
当我在 Artifactory 中创建 webhook 时,我使用了以下 URL:https:///generic-webhook-trigger/invoke?token=123**
我尝试在 Artifactory 中测试它,并不断收到错误警报 “发送虚拟 Webhook 失败”,当然,管道没有被触发
这是 ngrok 命令内的输出,看起来 webhook 正在被触发,但 ngrok 显示 404 错误
我已经被困了好几天了,我希望这里有人可以帮助我。
看来问题出在webhook服务配置上,无论是在Jenkins中还是在ngork中。
您是否尝试直接从curl或postman调用webhook服务?
您是否尝试直接调用 Jenkins webhook 服务以确保其配置正确?
您可以尝试通过在 system.yaml 中将 urlStrictPolicy 设置为 false 来配置 Artifactory 直接调用 Jenkins。 您可以在以下文章中了解有关配置 Artifactory webhook 的更多信息: https://jfrog.com/knowledge-base/artifactory-how-to-test-webhooks-in-artifactory-and-check-its-request-payload/
您应该检查您的 event-service.log 文件。主机名的 DNS 解析可能失败。要调试它,请在artifactory 主机(或容器,如果安装了docker)中进行shell 操作并尝试curl 端点。 此外,Webhook 禁止使用本地网络主机名以防止 SSRF 尝试。如果您确定自己在做什么,请设置 event.webhooks。 urlStrictPolicy: 在您的系统 yaml 中为 false