Dường như có rất nhiều ví dụ để thăm dò GitHub nhưng làm cách nào tôi có thể thăm dò ý kiến của Docker Hub và kích hoạt một bản dựng dựa trên đó?Làm cách nào để liên lạc từ Docker Hub với Jenkins qua web hook?
Tôi đã thiết lập webhook trong Trung tâm Docker cho bản dựng tự động của mình nhưng tôi không thể xem cách thăm dò ý kiến cho nó trong Jenkins.
Có vẻ là plugin này Jenkins: https://wiki.jenkins-ci.org/display/JENKINS/DockerHub+Plugin
Nhưng, như tôi hiểu nó plugin đã bị phá vỡ kể từ khi một sự thay đổi API trên Docker Hub.
Cập nhật:
Dường như câu trả lời là sử dụng kích hoạt được xây dựng từ xa tùy chọn dưới Build Kích hoạt tuy nhiên nó không thành công do nặc danh không có xây dựng cho phép. Sau đó, tôi chuyển sang sử dụng plugin này: https://wiki.jenkins-ci.org/display/JENKINS/Build+Token+Root+Plugin
Vì vậy, các URL trở nên một cái gì đó như thế này: https://jenkinsserver.com/buildByToken/build?job=test&token=test
đó làm việc nếu tôi POST để URL mà thông qua một trình duyệt (thậm chí ẩn danh) nhưng không phải với cURL. Tôi nhận được:
$ curl -X POST https://jenkinsserver.com/buildByToken/build?job=test&token=test
<html><head><meta http-equiv='refresh' content='1;url=/securityRealm/commenceLogin?from=%2FbuildByToken%2Fbuild%3Fjob%3Dtest'/><script>window.location.replace('/securityRealm/commenceLogin?from=%2FbuildByToken%2Fbuild%3Fjob%3Dtest');</script></head><body style='background-color:white; color:white;'>
Authentication required
<!--
You are authenticated as: anonymous
Groups that you are in:
Permission you need to have (but didn't): hudson.model.Hudson.Read
... which is implied by: hudson.security.Permission.GenericRead
... which is implied by: hudson.model.Hudson.Administer
-->
</body></html>
Tuy nhiên, tôi có thể lấy nó để làm việc qua cURL nếu tôi làm điều này:
Nhưng, Docker Hub không thích URL mà ...
Tôi đang thiếu gì ở đây? Tôi có đi đúng đường không? Nếu bạn là một người kích hoạt và Jenkins nhiệm vụ từ một Huber Docker Hub, làm thế nào để bạn làm điều đó?
Bạn đã đọc [tài liệu API REST Jenkins] (https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API), bao gồm các bit về cách xác thực là người dùng Jenkins cụ thể chưa? Nếu vấn đề chỉ là định dạng yêu cầu và không xác thực thì tất cả các câu trả lời đều nằm trên trang đó. –
Tôi tin rằng tôi đang làm mọi thứ đúng theo điều đó. Dường như docker hub không hỗ trợ một URL mà Jenkins hiểu rằng bao gồm thông tin đăng nhập. Tôi có phải cấp quyền xây dựng cho ẩn danh không? – Carter
Tôi nghi ngờ điều đó. Tôi không thấy bạn sử dụng tùy chọn --user của curl, giống như một trong các ví dụ (tham số tệp). Bạn đang sử dụng nó? –