ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Docker 공식 이미지 사용하기 : 젠킨스
    Container 2016. 4. 11. 09:00
    반응형
    docker 활용하는 방안중 일반적으로 많이 소개되는 방법중 하나인 젠킨스 사용방법을 알아보자. 우선 젠킨스 공식 이미지를 이용해서 젠킨스 컨테이너를 실행해 보자.
    docker run -p 8080:8080 -p 50000:50000 jenkins
     
    실행한 다음 8080 포트로 접속해 보면 젠킨스가 실행된걸 확인할 있다.

     
    이상태에서 작업을 설정해서 젠킨스를 사용해도 된다. 그러나 이렇게 사용할 경우 젠킨스에서 사용하던 데이터가 컨테이너 내부에 저장되기 때문에 컨테이너가 중지되면 데이터가 모두 사라지게 된다. 젠킨스는 모든 데이터를 로컬디스크의 파일로 기록해서 사용하기 때문이다. 이제 젠킨스를 재시작하더라도 데이터가 남아있게 볼륨을 지정해 컨테이너를 시작해 보자. Jenkins라는 이름으로 디렉토리를 만들고 디렉토리를 컨테이너에서 사용해 보자.
    mkdir Jenkins
    sudo docker run -p 8080:8080 -p 50000:50000 -v `pwd`/jenkins:/var/jenkins_home Jenkins
     
    이렇게되면 생성한 jenkins 디렉토리에 젠킨스 데이터들이 들어와 있는걸 확인할 있다. 젠킨스 데이터를 백업하려면 디렉토리를 복사해 두면 된다. 젠킨스에서 플러그인을 사용하는 것도 가능한데, 특정 플러그인의 경우 플러그인에서 사용하려는 프로그램들이 컨테이너에 설치되어 있어야 한다. 이런 경우에는 젠킨스 이미지를 기본으로 하는 이미지를 새로 만들어서 이미지에 필요한 프로그램들을 설치해서 사용하면 된다.
     
    자동으로 젠킨스slave 추가
    빌드 작업이 많을 경우 젠킨스를 하나가 아니라 여러개의 slave 붙여서 사용할 있는데 컨테이너를 이용해서도 이런 작업이 가능하다. 우선 마스터로 사용할 젠킨스에 다음 2개의 플러그인들을 설치한다.
    Self-Organizing Swarm Plug-in Modules
    Node and Label parameter plugin
     
    그런 다음 [젠킨스 관리] => [노드 관리] 화면으로 들어가보자. 아래처럼 master 보이는걸 확인할 있다.

    상태에서 슬레이브를 추가하려면 간단하게 아래처럼 docker 컨테이너를 실행하기만 하면된다.
    docker run -e JENKINS_USERNAME=jenkins -e JENKINS_PASSWORD=jenkins -e JENKINS_MASTER=http://192.168.123.103:8080  maestrodev/build-agent
    호스트가 실행되고 난후에 위에서 봤던 화면을 새로고침 해보면 자동으로 슬레이브가 추가된걸 확인할 있다. 슬레이브를 추가하려면 이런식으로 명령 한줄이면 다른 추가 설정없이 자동으로 젠킨스 슬레이브를 추가해서 사용할 있다. 추가된 슬레이브를 사용하려면 젠킨스 작업 설정화면에서 “Restrict where this project can be run” 항목을 선택하고 슬레이브 이름을 넣어주면 된다.

     
    반응형

    댓글

Designed by Tistory.