[무작정따라하기] Github-Jenkins 연동설정 & 자동빌드_1

2017. 7. 27. 11:33카테고리 없음

이번 포스팅의 주제는 github와 Jenkins를 연동하기 입니다.
이 부분을 포스팅하게 된 계기는 jenkins가 CI의 역활로 어떤 역활을 수행하고 있는지에 대한 부분을 살펴보기 위함 입니다. 우선 하고자 하는 목표는 github의 자신의 원격저장소에 로컬저장소로부터 push를 하게 됬을 때 자동으로 push된 결과를 읽어서 jenkins가 자동으로 빌드하도로고 하는 것 이 목적입니다. 시나리오는 jenkins를 docker 이미지로 생성하여 컨테이너를 돌려서 서버를 연결하고, jenkins의 github repository의 url을 입력하여 github에는 webhook을 이용하여 jenkins 서버를 찾도록 해주도록 할 것입니다. 즉, github와 jenkins를 서로 알 수 있도록 등록해주는 작업을 할 것입니다.

Jenkins의 github와 연결설정과정

  1. 준비물은 docker가 운영체제에 다운로드, github 계정의 테스트를 진행할 저장소가 되어있어야 합니다. (docker 홈페이지를 방문하여, windows 7에 경우 docker toolbox를 다운받도록 합니다.)

  2. docker를 설치했으면, docker hub에 있는 jenkins 이미지를 받아 올 것입니다. 이번 포스팅에서는 docker toolbox 를 설치하면 설치할 수 있는 kitematic이라는 프로그램을 사용해보도록 하겠습니다. kitematic 이라는 프로그램을 실행하면, 다음과 같이 표시가 됩니다. 만약 setting을 무엇으로 할지에 대해 선택하는것이 있다면, 저는 virtualbox를 선택하였습니다. 이 말은 virtualbox에서 실행중인 컨테이너를 표시하겠다는 뜻으로 해석이 됩니다. 그리고 로그인을 원한다면, dockerhub의 계정의 id와 password를 입력하여, 연결을 해줍니다.

  3. 접속에 성공을 하면 다음과 같은 화면이 나올 것입니다. 왼쪽 상단의 containers 라고 되어있는 부분의 초록색으로 표시된 부분은 현재 docker 환경에서 실행중인 conatiner 입니다. 우리는 jenkins를 설치 할 것이므로, Search for Docker images from Docker Hub라는 부분에 jenkins라고 검색을 한 후에 create 버튼을 눌러서 설치를 해주도록 합니다.



  4. 설치가 완료되면, 자동으로 설치된 화면이 켜지거나 다음과 같은 화면에서 WEB PREVIEW 옆에 표시를 누르면 실행되고 있는 서버가 표시 될 것입니다.

  5. 다음 표시된 부분들이 우리가 지켜보아야 할 부분들입니다. 왼쪽상단에 보시면 우리가 현재 접속해 있는 jenkins 서버의 주소입니다. jenkins는 새로 생성된 jenkins 이미지의 대해서 자동적으로 계정을 보호하기 위한 비밀번호를 입력하기를 원합니다.


  6. 그래서 우리는 다음과 같은 명령을 통해서 비밀번호를 확인해서 위의 사진에 있는 빈칸에 비밀번호를 확인시켜주어야겠습니다. 명령 $ docker exec -it [현재 실행중인 container의 id]을 사용해서 실행중인 컨테이너 내부로 들어가서 5번의 사진에서의 경로를 들어가서 cat명령어를 이용해서initialAdminPassword의 적혀있는 비밀번호를 확인합니다. 저같은 경우에는 43a4375fbfc54ec782ef8d33c1dcab0b 입니다.



  7. 비밀번호를 확인하여 비밀번호 입력란에다 비밀번호를 입력하고 들어가면 두가지선택을 할 수 있도록 해주는데 권장하는 내용들을 설치 할 것인지 아니면 자신이 선택한 플러그인을 설치할 것인지에 대한 물음입니다. 우리는 왼쪽 Install suggest plugins를 눌러 설치하도록 합니다.


  8. 설치를 하고나면 자신의 계정을 적당하게 만들도록 합니다. 만들고 처음시작하면 다음과 같은 화면을 볼 수 있는데 다음의 화면에서 작업을 생성해보록 하겠습니다.


  9. 적당한 프로젝트의 이름을 넣고, Freestyle project 를 선택하겠습니다.


  10. 다음 화면에서 소스 코드 관리 탭을 선택하여 Git을 선택한 후 , Repository URL 에 자신의 git hub의 적당한 저장소의 주소를 지정합니다. 그리고 Credentials 의 있는 add 버튼을 클릭합니다.


  11. jenkins가 github의 저장소로 부터 인증을 받는 부분인 것 같습니다. Domain, kind, Scope 설정을 해주고 Username에 github 계정의 id를 Password에 password를 입력하고 Add 버튼을 누릅니다.


  12. 스크롤을 내리면, 빌드유발이라는 것이 있는데, 언제 자동적으로 빌드를 시킬 것인지에 대한 내용이 나옵니다. 저희는 github의 지정된 저장소로 push 가 될 때 자동적으로 빌드를 시킬것이므로, 네번쩨 Github hook trigger for GITScm polling 을 체크하고 그리고 작업을 완료합니다. (다른속성들이 있지만 다른 속성은 필요에 따라 쓰고 안쓰고의 차이가 있는것 같습니다.)
    `

    다음 포스팅에서 github에서의 jenkins와 연결설정에 대해서 포스팅 하겠습니다.