[Jenkins] GitHub에 push 되면 자동 빌드해보자

김우경·2021년 6월 1일
0

ci/cd 찍먹

목록 보기
12/13

간단하게 GitHub에 push 되면 자동 빌드하도록 project를 구성해보겠습니다.

첫번째 project 만들기

New Item 클릭

이 프로젝트가 build node에서만 실행될 수 있도록 설정해줍니다.

연결할 github의 repository 주소를 입력해줍니다. 브랜치는 기본 Master로 설정해주었습니다. 브랜치 안만들거라,,

Build Trigger는 GitHub hook trigger for GITScm polling 를 선택! 말 그대로 GitHub 의 hook trigger 를 받으면 빌드를 하겠다는 뜻임

지금은 build툴을 사용하지 않을것이므로 build는 따로 설정해주지 않았습니다.

까지 설정하고 save~

repository에 새 commit을 올려서 제대로 반영이 되는지 확인해봅시다.

만든 프로젝트를 run 해봅니다.

빌드 히스토리를 보면 맞게 빌드됨을 확인할 수 있습니다.

두번째 프로젝트 만들기

첫번째 프로젝트에서 pull받아온 코드를 컴파일하고 빌드하는 프로젝트를 만들어보겠습니다.
아까와 같이 new items를 클릭하여 새 프로젝트를 만듭니다. 대상을 아까처럼 build agent로 설정해주고, git은 사용하지 않을 것이므로 선택하지 않습니다.

빌드는 쉘을 사용해서 다음과 같은 스크립트로 컴파일->빌드하려고 합니다.

빌드에 사용하기 위한 gcc와 docker를 Agent instance에 설치합니다.

sudo apt-get install docker.io
sudo apt-get install gcc

설치 후 두번째 프로젝트를 빌드합니다.


성공 😎

Agent Instance의 public IP주소에서 접근하여 맞게 빌드됐는지 확인해봅시당 .

두 프로젝트를 엮어보자

지금은 수동으로 Build Now를 클릭해서 빌드하였는데, 첫번째 프로젝트가 문제없이 빌드되면 두번째 프로젝트가 수행되도록 해보겠습니다.

첫번째 프로젝트의 configure를 수정합시다.

빌드 후 다른 프로젝트를 빌드하도록 설정!

Github에서 WebHook을 추가합니다.

Jenkins가 돌고있는 인스턴스의 publicIP:8080으로 주소를 설정해줍니다.

repo에 새 commit을 하여 자동화되었는지 확인해봅시다.!
첫번째 pull-code가 실행되고, 두번째인 compile-build를 트리거했다는 로그를 볼 수 있습니다.

compile-build의 로그에서 pull-code에 의해 실행되었고, 설정한 스크립트대로 수행되었음을 볼 수 있습니다.

profile
Hongik CE

0개의 댓글