GitHub를 폴링하는 예제가 많이 있지만 Docker Hub를 폴링하고이를 기반으로 빌드를 트리거하는 방법은 무엇입니까?Docker 허브에서 Jenkins로 웹 훅을 통해 통신하려면 어떻게해야합니까?
자동화 된 빌드를 위해 Docker 허브에 웹 훅이 설정되어 있지만 Jenkins에서 폴링을 수행하는 방법을 볼 수 없습니다. 나는 그것이 플러그인이 도커 허브에 API 변경 이후에 파괴 된 이해, https://wiki.jenkins-ci.org/display/JENKINS/DockerHub+Plugin
그러나 :
가이 젠킨스 플러그인 될 것으로 보인다.
업데이트 :
대답은 트리거가 실패하지만 원격 빌드 아래 옵션은 트리거 빌드 사용하는 것 같다 때문에 익명을 가지고 있지 빌드 권한을 설정합니다. 그럼이 플러그인을 사용하여 전환 : https://wiki.jenkins-ci.org/display/JENKINS/Build+Token+Root+Plugin는
그래서 URL은 다음과 같이된다 : https://jenkinsserver.com/buildByToken/build?job=test&token=test 나는 브라우저 (심지어 시크릿)하지만 컬을 통해 해당 URL에 POST 경우 작동
. 내가 얻을 :이 할 경우
$ 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>
그러나, 나는 그것이 컬을 통해 작업을 얻을 수 있습니다 : 해당 URL을 좋아하지 않는 도커 허브
curl -X POST https://user:[email protected]/buildByToken/build?job=test&token=test
하지만를, ...
나는 무엇을 여기에서 놓치고 있냐? 나는 올바른 길을 가고 있는가? Docker Hub Webhook에서 Jenkins 작업을 시작한 사람이라면 어떻게해야합니까?
특정 Jenkins 사용자로 인증하는 방법에 대한 비트를 포함하여 [Jenkins REST API 문서] (https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API)를 읽으셨습니까? 문제가 단지 형식을 요청하고 인증하지 않는 경우 모든 대답은 해당 페이지에 있습니다. –
나는 그것에 따라 모든 것을 제대로하고 있다고 생각합니다. 그것은 도커 허브처럼 Jenkins가 자격 증명을 포함하는 것으로 이해하는 URL을 지원하지 않는 것 같습니다. 익명으로 빌드 권한을 부여해야합니까? – Carter
나는 그것을 의심한다. curl의 --user 옵션을 사용하는 것을 보지 못합니다. 예제 중 하나 (파일 매개 변수 1)와 같습니다. 그것을 사용하고 있습니까? –