jenkins에 job 등록하기(Webhook과 Poll SCM)

twoStones·2022년 1월 11일
0

젠킨스

목록 보기
8/11
post-thumbnail

깃허브와 젠킨스를 연동하여 깃허브 브랜치에 push가 되면 젠킨스 빌드가 실행되도록 하는게 것이 목표

테스트에 사용할 코드 준비

  • git hub에 테스트에 사용할 repository를 생성하고 로컬에 클론해서 로컬에도 생성해 둔다
  • project.sh 파일을 만들고 파일 내용 echo "깃허브 웹훅과 젠킨스 좝 연동하여 빌드하기" 작성하여 두자

ngrok 설정

로컬 호스트 주소를 외부에서 접속할 수 있도록 해주는 프로그램
ec2나 서버에 있는 젠킨스를 사용하는 것이라면 ngrok 필요없으므로 넘어가도 됨
나는 로컬에 젠킨스를 도커로 설치하였기에 필요함

  • ngrok 사이트에 가입
  • https://ngrok.com/download 에서 다운로드
  • 터미널에서 ngrok 명령어 입력 후 설치 확인
  • ngrok에 로그인 후 your authtoken 확인
  • ngrok authtoken 위에서확인한토큰 입력 후 토큰 추가
  • ngrok http 사용할포트 작성하고 엔터치면 나오는 것들 중에 Forwarding 주소 확인 후 브라우저에 입력하고 접속되는지 확인
ngrok http 8080

Jenkins Job 등록

  • 젠킨스 대시보드에서 왼쪽 상단에 있는 새로운 Item 선택
  • 아이템 이름 작성하고 Freestyle project 선택하고 OK 버튼 클릭

소스 코드 관리 부분 작성

  • Git 선택
  • Repository URL에 저장소 경로를 입력
  • Credentials에서 Add 클릭
    • Jenkins Credentials Provider 작성
    • Kind는 Username with password
    • username과 password에 github 계정 정보 입력
    • Add 후 Credentials에서 방금 생성한 것으로 선택
    • 실제 프로젝트에서 사용할 때는 여기 참고하기 https://jojoldu.tistory.com/442
  • Branches to build에서 빌드가 되길 원하는? 브랜치 작성
    - 기본으로 */master가 하나 있고
    - 다른 브랜치도 추가할거면 Add Branch 클릭 후 추가

빌드 유발(build trigger)

빌드 유발은 위에서 작성한 소스 코드 관리에 등록한 소스 저장소의 master branch에 코드가 push 될 때 빌드되게 Github hook trigger for GITScm polling 을 선택

Build

깃허브에 있는 project.sh 파일을 실행하도록 파일명 작성

chmod 774 ./project.sh
./project.sh

github에 jenkins 연결하기

  • github에 접속하고 Settings > Webhooks > Add webhook 으로 새로운 Webhook을 추가

  • Payload URL 작성

  • 나는 로컬에 있으니까 ngrok을 통해서 생성한 주소 입력

    • ❗️ 주의 - ngrok을 멈추고 다시 실행하는 경우 forwarding 주소가 바뀌기때문에 webhook에서 변경된 주소로 수정해줘야 함.
  • webhook을 트리거할 이벤트는 첫번째 꺼 선택. push가 들어오면 젠킨스에 쏘기

젠킨스 테스트

  • 대시보드에서 새로 생성한 job 확인하고 클릭
  • 왼쪽 메뉴 중 build now 클릭해서 빌드 실행
  • 테스트 레파지토리에 push하고 빌드 실행 됐는지 확인
    - #3 은 build now로 실행한 결과
    - #4 는 pust해서 빌드된 결과

참고

https://blog.outsider.ne.kr/1159
https://jojoldu.tistory.com/139
https://choseongho93.tistory.com/297

profile
일단 작성

0개의 댓글