SW/DevOps

DevOps :CI : Docker로 구축하는 방법

얇은생각 2019. 12. 5. 07:30
반응형

지속적 통합환경

구축해야 할 큰 요소는 깃랩, 젠킨스, 소나큐브입니다. 계획 및 일감관리는 웹 인터페이스를 지원하는 설치형 깃을 사용하고, 젠킨스가 소스코드가 커밋되는 것을 감지하거나 스케줄에 따라 소스코드를 통합하고 빌드하면서 정적 분석을 하면 결과는 소나큐브 대시보드에서 확인할 수 있습니다.

이 환경을 도커를 활용하여 구축한다면 기존 방식보다 매우 빠르고 쉽게 구축할 수 있습니다. 이를 Docker-Compose로 진행해 보겠습니다.

 

 

깃허브 주소

 

Docker-Compose.yml을 직접 작성하지 않고 만들어져서 깃허브에 올라와 있는 것을 활용하도록 하겠습니다. 화면에 있는 깃허브 레파지토리를 클론해서 사용하겠습니다. STS의 Git 플러그인 기능을 통해서 조금 전 소개했던 깃 레파지토리를 클론합니다.


다운받은 위치로 이동해서 내용을 살펴봅니다. Docker-Compose.yml 파일이 있습니다. 각 서비스들의 볼륨, 포트 정보 등이 정의되어 있습니다. Dockerfile.jenkins 내용도 살펴봅니다. 이제 구동시키기 위해서 docker-compose up-d 명령을 실행합니다.

 

 

깃랩

 

구축이 완료된 후 localhost:8000으로 접속하면 정상적으로 기동이 됐을 때 보시는 화면이 뜹니다. 초기 깃랩 기동시간이 좀 오래 걸리기 때문에 충분한 시간이 지난 후에 접속해야 합니다.

앞서 관리자의 패스워드를 설정했고, 관리자 패스워드 설정이 끝나면 일반 이용자 가입을 통해 사용할 수 있습니다. 일반 이용자로 로그인을 하게 되면 보시는 바와 같이 기능들을 사용할 수가 있게 되는데, 보시는 화면은 프로젝트를 생성하는 화면입니다. 깃허브에서 사용하는 기능과 거의 유사한 기능을 사용하실 수 있습니다.

 

 

 

젠킨스

다음은 젠킨스에 접속해 보겠습니다. 젠킨스에 접속하기 위해서는 어드민의 패스워드가 필요한데 이는 젠킨스 로그에서 확인할 수 있습니다. 젠킨스 로그 확인 명령으로 로그를 확인하고 패스워드를 복사해야 합니다. 보시는 것처럼 젠킨스 로그를 띄운 다음에 중간에 패스워드를 복사합니다.

Localhost:8080으로 접속하면 어드민 패스워드를 입력하라는 젠킨스 첫 화면이 뜹니다. 복사한 패스워드로 로그인을 하게 되면 플러그인을 설치하게 되는데, 지금 보시는 화면이 자동으로 플러그인이 설치되는 화면입니다. 프로그램 설치가 완료되면 관리자 패스워드를 넣고 정보를 입력한 후에 진행하게 되면 젠킨스를 시작할 수 있습니다.

 

 

sonarqube

다음은 소나큐브를 실행해보겠습니다. Localhost:9000으로 접속하면 소나큐브화면이 뜨는데, 초기 아이디는 admin/admin입니다.

 

 

 

도커를 사용했기 때문에 너무나 쉽게 구축할 수 있었습니다. 만약 도커를 사용하지 않았다면 이런 시스템을 일반인이 구축하기는 불가능했을 것입니다. 깃랩, 젠킨스, 소나큐브 각각의 기능을 연계 통합하여 지속적 통합/배포를 위한 구체적 설정들은 많은 시간과 경험이 필요합니다.

반응형