방화벽 뒤에 Jenkins 인스턴스가 실행 중이고 Jenkins UI를 인터넷에 노출하고 싶지 않습니다. (보안 기능이 켜져 있어도 옵션이 아닙니다.) 필자는 다른 포트를 열어서 빌드를 트리거 할 수는 있지만 UI는 노출하지 않을 것을 제안합니다. 플러그인 목록을 탐색했지만 적절한 플러그인을 찾지 못했습니다. 현재 나의 설정은 apache를 프록시로 실행하고 다른 포트의 regex-module을 통해 트리거를 허용하고 있습니다. (하지만 다른 URL은 없습니다). 아파치는 많은 추가로드 (및 메모리, 매우 작은 머신)를 수행하므로 실제로 제거하려고합니다. 열린 포트를 통해 트리거를 허용하는 방법을 제안했지만 해당 포트를 통해 Jenkins UI 또는 다른 Jenkins URL을 노출시키지 않는 방법이 있습니까?Github에서 Jenkins 빌드를 안전하게 트리거하는 방법
2
A
답변
0
문제를 해결하려면 github 저장소에서 변경 사항을 폴링 할 수 있습니다. CRONTAB 구문을 사용하여 폴링 일정을 구성 할 수 있습니다.
CRONTAB의 "5 asterixs"는 매일 매시간마다 분당 투표를 의미합니다. 매 커밋마다 모든 건물과 거의 동일합니다.
0
이제 리소스 요구량이 낮은 &이라는 내 요구 사항을 충족하는 설정을 갖게되었습니다. 나는 웹 서버를 에뮬레이션 할 순 고양이를 사용하여 작은 bash는 스크립트에 의해 아파치를 대체하지 :
#!/bin/bash
while true ; do
echo -e "HTTP/1.1 204 No Content\r\nConnection: close\r\n\r" | nc -l -v -p [outer port number] > /dev/null
wget -O /dev/null [jenkins base url]/git/notifyCommit?url=[repository url] &>/dev/null
sleep 5
done
(루프)에 첫 번째 줄 응답을 HTTP로 Github에서 트리거에 의해 지원되는 어떠한 내용의 상태를. 페이로드는/dev/null로 지정됩니다. 페이로드를보고 셸 스크립트에서 세부 사항을 추출하지 않는 것이 중요합니다. 왜냐하면 입력 된 내용을 배쉬에서 쉽게 (적어도 나를 위해) 잘못 수행하기 때문입니다.
두 번째 줄은 Jenkins가 변경 사항 (변경 사항이있을 경우 빌드)을 찾도록 트리거합니다.
마지막 줄의 수면은 수신 대기 포트가 자주 호출되는 경우 DOS 시나리오를 방지하는 것입니다.
스크립트 자체는
@reboot
일정의 cron을 통해 시작됩니다.
관련 문제
- 1. Jenkins CI : SVN 커밋시 빌드를 트리거하는 방법
- 2. Jenkins CI : 특수 svn 주석 빌드를 트리거하는 방법
- 3. Jenkins, SVN에 특정 커밋을 만들어 빌드를 트리거하는 방법
- 4. jenkins 빌드를 중단하는 방법
- 5. 특정 디렉토리에서 파일이 변경 될 때마다 빌드를 트리거하는 jenkins 플러그인
- 6. Deis 배치 후에 Jenkins 빌드를 트리거하는 방법은 무엇입니까?
- 7. Jenkins 빌드를 동적으로 식별하십시오.
- 8. Jenkins : 빌드를 시작한 이유
- 9. TestRail에서 Jenkins 빌드를 트리거하십시오.
- 10. Jenkins 빌드를 Python으로 중지하십시오.
- 11. CruiseControl.NET - 프로젝트 실패시 빌드를 트리거하는 방법
- 12. setuptools/distutils를 사용하여 사후 빌드를 트리거하는 방법
- 13. HipChat에서 명령을 통해 젠킨스에서 빌드를 트리거하는 방법
- 14. Jenkins 빌드를 이메일 알림으로 전송하는 방법
- 15. Jenkins 매개 변수화 된 빌드를 사용하는 방법?
- 16. 다른 작업에서 Jenkins 작업을 릴리스로 트리거하는 방법
- 17. Jenkins 빌드를 나중에 다른 빌드를 트리거하도록 만드는 방법은 무엇입니까?
- 18. 깨끗한 Jenkins 빌드를 다시 실행하십시오.
- 19. Kiln webhook으로 Jenkins 빌드를 트리거하십시오.
- 20. MSBuild를 사용하여 VS2012에서 빌드를 트리거하는 사용자를 감지하십시오.
- 21. RSS가 업데이트되면 Jenkins가 빌드를 트리거하는 방법은 무엇입니까?
- 22. 어느 것 : PHING 또는 Jenkins? GitHub에서 배포
- 23. 안전하게 Github에서 저장소를 삭제할 수 있습니까
- 24. travis 빌드 중에 travis에서 재 빌드를 트리거하는 방법
- 25. 파이프 라인 플러그인으로 오류를 전파하면서 백그라운드에서 젠킨스 빌드를 트리거하는 방법
- 26. 결함이 고정 또는 폐쇄 상태로 이동하자마자 빌드를 트리거하는 방법
- 27. 사용자가 Green Jenkins 빌드를 선택하여 배포하도록 허용
- 28. cloudbees와 bitbucket을 사용하여 git에서 jenkins 빌드를 트리거하십시오.
- 29. Jenkins - 빌드 기록에서 빌드를 삭제할 수 없습니다.
- 30. 젠킨스 (Jenkins) : 작업이 완료되면 미래 빌드를 트리거하십시오.
@Andrew 폴링을 옵션으로 고려하지 않는 이유는 여러 가지가 있습니다. [이] (http://kohsuke.org/2011/12/01/polling-must-die-triggering-jenkins-builds-from-a-git-hook/) 하나입니다. – Cfx