본문 바로가기
DevOps

로컬에서 젠킨스 GitHub과 연결 ( 자동빌드)

by 앙헬디마리아 2021. 4. 30.
728x90

yous3163.tistory.com/36

 

젠킨스(JenKins) 란?

이전글의 주제였던 CI/CD를 한번 보고 오시는걸 추천한다. yous3163.tistory.com/35 CI/CD 란 CI (Continuous Integration)란 여러 개발자가 작성하거나 수정한 소스를 지속적으로 통합하고 테스트하는 것을 뜻한

yous3163.tistory.com

위의 블로그글을 보고 선행이 필요하다.

 

 

가장먼저 로컬에서 테스트하기 위해선 유동 IP를 사용하면 안된다.

AWS나 Oracle 클라우드 , GCP를 사용한다면 상관없지만 로컬에서 해야 하면 자신의 IP 혹은 localhost로 설정을 해야함.

 

따라서 

ngrok.com/download

 

ngrok - download

Running this command will add your authtoken to your ngrok.yml file. Connecting an account will list your open tunnels in the dashboard, give you longer tunnel timeouts, and more. Visit the dashboard to get your auth token.

ngrok.com

여기서 ngrok을 설치하여 자신의 IP를 고정시켜야한다.

 

다운받아서 ngrok.exe 파일을 실행시키고 ngrok http 9100을 입력하면 Forwarding으로 고정 IP를 주는데 젠킨스 역시 저 Forwarding 주소로 들어갈 수 있다.

 

 

 

그렇게 로그인을 하고 

 

새로운 Item 을 누른다.

 

프로젝트의 이름을 입력하고 OK 버튼을 누른다.

 

 

그럼 다음과 같은 창이 뜬다.

 

GitHub과 연동할거기 때문에 project url에 .git을 제외하고 입력해주고

소스코드관리부분에 git을 체크하여 연동할 프로젝트 URL을 입력한다.

 

Credentials의 경우에는 

username은 github 닉네임을 작성하고 password는 github비밀번호를 작성한다. ID는 원하는대로 작성한다.

 

 

Invoke Gradle의 Gradel Version을 Default가 아닌 selectbox의 gradle로 해주어야한다. 

 

왜냐하면 Jenkins관리 -> Global Tool Configuration에서 name을 설정해주었기 때문에 ... 

이거때문에 빌드가 안될수도 있음..

 

 

 

 

 

Task 밑에 고급을 누르고

밑에 build.gradle을 입력해준다.

 

 

여기까지 jenkins에서 gradle 빌드 하는 환경을 만들었다. 

 

 

이제 github에서 webhook을 설정하고 jenkins에서 알 수 있도록 환경설정만 변경하는 작업을 해보자.

 

 

자신의 github repository에 들어가서

Webhooks를 누르고 

 

 

Add webhook을 누른다.

 

 

 

URL은 localhost/github-webhook으로 설정을 해주고 Content Type을 application/json으로 설정해준다.

 

localhost부분에 젠킨스와 연결해주기 위해 아까 위에서 ngrok으로 받은 IP를 입력해주어야 한다.

 

 

언제 web-hook을 트리거링시킬꺼냐는 옵션에는 push를 할때로 설정한다.

 

생성을하고나면 프로필의 Setting으로 들어가서 Developer setting에 들어가서 Personal access tokens를 발급받아야한다.

 

 

 

그럼 토큰이 생성된다.

 

 

짜잔..

 

이제 이 토큰을 가지고 젠킨스 환경설정을 추가적으로 해주어야한다.

 

 

Jenkins관리 -> 시스템 설정

 

 

마찬가지로 ngrok의 IP주소

 

내리다 보면 GitHub이 있고 

Add 해준다.

 

Credentials 추가

 

Secret에 아까 발급받은 github Token을 넣어준다.

 

TestConnection을 누르면 Fail이 안뜨고 잘 연결되면 저장을 누르고 빌드를 해보러 메인으로 가보자.

 

이제 나의 인텔리제이에서 master에 푸시를 했을때 자동으로 빌드가되는지 확인해야 한다.

 

 

빌드가 잘된걸 확인할 수 있다. 

 

728x90

'DevOps' 카테고리의 다른 글

AWS Docker 설치/실행  (0) 2021.05.03
Docker(도커) 란 ?  (0) 2021.05.03
AWS EC2 Jenkins 설치  (0) 2021.05.02
젠킨스(JenKins) 란?  (0) 2021.04.29
CI/CD 란  (0) 2021.04.27