위의 답변은 정확하지만 나는 여기에 초보자들에게 간단하게 설명하고 있습니다.
특히 파이프 라인에 대한 빌드 트리거를 설정하는 경우 :
파이프 라인 스크립트가 작성된 1.master, 2.dev 및 Jenkinsfile이라는 두 개의 Github 분기가 있고 각 분기에서 다른 파일을 사용할 수 있다고 가정하십시오.
새로운 파이프 라인 프로젝트 구성 (개발 지점 용)
## 1. git-plugin 및 cron 기반 접근 방식과의 코드 통합
전제 조건 git plugin을 설치하고 이름과 이메일로 구성해야합니다.
- 일반 섹션. 확인란- '이 프로젝트는 매개 변수화되어 있습니다.'를 선택하고 이름 -SBRANCH 기본값- 'refs / remotes / origin / dev'를 추가하십시오.
- 빌드 트리거 섹션 "체크 체크 박스- 'Poll SCM'및 커밋을 확인해야 할 필요에 따라 스케줄 (예 : '* / 1 * * * *')
- 파이프 라인 정의 섹션-선택-SCM에서 파이프 라인 스크립트-> git 선택-> addRepository URL-> git 자격 증명 추가-> 고급 선택-> Name- origin, RefSpec- '+ refs / heads / dev : refs / remotes / origin / 추가 dev '(dev is github branch) —> 빌드 할 분기-$ {SBRANCH} (ref 1st ref의 매개 변수 이름) —> 스크립트 경로 —> Jenkinsfile —> 경량 검사 선택 해제
- 적용 —> 저장
## 2. 코드 통합 : github-plugin 및 webhook 접근
전제 조건 Github 플러그인을 설치하고 Github 서버를 구성해야합니다. 다음 구성을 고려하지 않으면 연결을 테스트해야합니다.
Jenkins의 계정으로 Github 플러그인 구성
GitHub 섹션 API URL이없는 경우 Github 서버 추가 : https://api.github.com 자격 증명 : 개인 액세스 토큰 값이있는 비밀 텍스트 추가 (추가 버튼 클릭 : 비밀 텍스트 선택) (Github 계정에서 생성-> 설정) —> 개발자 설정 —> 개인 액세스 토큰 —> 토큰 추가 —> 범위 확인 —> 토큰 복사) 연결 테스트 —> Github 계정에 연결되어 있는지 확인하십시오. 후크 관리를 사용하여 확인란을 선택하십시오. '공유 비밀'에 대한 이전 자격 증명
에 의해 저장소에 추가되지 않은 경우 웹 후크 추가
- Github Repository 설정으로 이동 —> 웹 후크 추가 —> URL 추가
http : // Public_IP : Jenkins_PORT / github-webhook /
- 또는 Public_IP가없는 경우 ngrok를 사용 하십시오 . 설치, 인증, 명령 ./ngrok http 80 (jenkins_port 사용)에서 공개 IP 가져 오기 후 webhook 추가 —> URL 추가 http : // Ngrok_IP / github-webhook /
- webhook 페이지에서 페이로드를 제공하여 테스트하고 200 상태인지 확인하십시오.
Github Pull 요청 플러그인이 있으면 게시 된 Jenkins URL로 구성하십시오.
- 일반 섹션. 체크 박스- 'Github 프로젝트'프로젝트 URL 추가-( '. git /'으로 끝나는 github 링크)
- 일반 섹션. 확인란- '이 프로젝트는 매개 변수화되어 있습니다.'를 선택하고 이름 -SBRANCH 기본값- 'refs / remotes / origin / dev'를 추가하십시오.
- 빌드 트리거. 섹션 체크 박스- 'GITScm 폴링을위한 GitHub 후크 트리거'
- 파이프 라인 정의 섹션 : 선택-SCM에서 파이프 라인 스크립트-> git 선택-> addRepository URL-> 자식 자격 증명 추가-> 고급 선택-> 이름-원점 추가, RefSpec- '+ refs / heads / dev : refs / remotes / origin / dev '(dev는 github branch) —> 빌드 할 분기-$ {SBRANCH} (ref 1.st point의 매개 변수 이름) —> 스크립트 경로 —> Jenkinsfile—> Lightweightcheckout 선택 해제
- 적용 —> 저장