skip to Main Content

아코디언으로 CI/CD 구축하기 #1 – gitlab 설치

개발주기가 빨라지면서 많은 회사들이 CI/CD를 도입하고 있습니다.
CI/CD란 Continuous Integration / Continuous Delivery(Deploy)의 약자로 지속적인 통합과 배포를 의미하고 있습니다. 즉 빌드와 테스트, 배포를 자동화 함으로써 Human Error를 줄이고 개발에서 배포까지의 시간을 단축시킬 수 있습니다.

CI/CD 환경을 구축하면 많은 장점이 있지만 기존의 개발환경에서 CI/CD를 구축하다보면 생각보다 많은 문제가 발생할 수 있습니다.
소스를 관리하기 위해서 svn이나 git과 같은 형상관리 툴을 도입해야하고 빌드 및 테스트를 자동화 하기 위해서는 jenkins, travis-ci와 같은 툴이 필요합니다. 또한 운영서버로 배포하기 위해서 ansible과 같은 도구가 필수적입니다.

이렇듯 여러 툴들이 함께 유기적으로 조합되어야 하기에 CI/CD 도입에 어려움이 있을 수 있지만 아코디언을 이용하면 보다 간단하게 CI/CD 환경을 구축하고 손쉽게 운영할 수 있습니다.
이번 포스트에서는 아코디언을 이용해서 CI/CD 환경을 구축하고 간단한 샘플 프로젝트를 배포하는 과정에 대해서 알아보도록 하겠습니다.

우선, 구축할 CI/CD 환경은 다음과 같습니다.
1) 형상관리 – git(gitlab)
2) 빌드 및 테스트 – jenkins (아코디언에 내장)
3) 배포 – kubernetes (아코디언에 내장)

CI/CD 환경구축을 위한 첫번째 단계로 형상관리 툴인 gitlab을 설치해보도록 하겠습니다. gitlab은 웹으로 관리 할 수있어 편하다는 큰 장점이 있지만, 다른 git 서버들보다 설치하기가 복잡한 편입니다. 하지만, 아코디언을 이용한다면 매우 손쉽게 설치할 수 있습니다. 그럼 이제부터 아코디언으로 gitlab을 설치해보도록 하겠습니다.

(1) 어플리케이션 템플릿 작성
gitlab이라는 웹앱을 만들기 위해 템플릿을 작성합니다. 아코디언의 “설정 > 템플릿” 메뉴에 가면 템플릿을 생성할 수 있습니다.  “템플릿 생성”을 클릭하고 다음과 같이 내용을 입력하고 저장합니다.

1.템플릿 이름과 아이콘으로 이용할 이미지를 선택합니다.
2.빌드는 아니요 / 라우트사용여부는  / Pod 2개이상사용여부 아니요를 선택합니다.
(이번 실습에서는 따로 소스를 빌드할 예정이 아니라 gitlab docker image를 활용하도록 하겠습니다.)
3.이미지를 “gitlab/gitlab-ce:latest”로 수정합니다. (최신 커뮤니티 에디션 이미지)
4.포트는 22,80,443으로 수정합니다. (80,443 – 웹서비스 / 22 – ssh)

(2)gitlab 데이터를 저장할 볼륨 생성
템플릿을 만들었으면 gitlab 데이터를 저장할 볼륨을 만들어 줍니다. 볼륨이 없어도 gitlab 어플리케이션을 만들수있지만 어플리케이션에 문제가 발생하여 서비스가 내려가는 경우 저장한 데이터가 사라지기 때문에 별도의 볼륨에 데이터를 저장하는 것을 추천합니다.
gitlab은 설정/로그/데이터 3가지 정보를 저장하고 있기 때문에 볼륨도 3개를 만들어줘야합니다.
아코디언의 “볼륨 > 볼륨생성” 메뉴에 들어가서 볼륨을 생성할 수 있습니다.

이런 방식으로 볼륨을 3개 만들어줍니다.

※ 입력값 중 경로는 실제로 존재하는 경로를 입력해야합니다. /nfs/data/gitlab-conf가 없으면 앱 생성시 오류가 발생합니다.

(3)gitlab 어플리케이션 생성
gitlab 어플리케이션을 생성하기 위해 “앱 > 앱추가” 메뉴로 들어갑니다.

앱추가 메뉴에 가면 (1)에서 만든 gitlab을 확인할 수 있습니다. gitlab을 선택하고 다음을 클릭합니다. 아래와 같이 입력하고 “생성”을 실행합니다.

1.이름을 설정합니다. (여기서는 gitlab으로 설정했습니다.)
2.외부에서 접근할 수 있도록 호스트명을 선택합니다.
3.볼륨을 설정할 수 있도록 추가옵션을 켜줍니다.
4.(2)에서 만든 볼륨을 각각의 경로에 마운트시켜줍니다.

(4)gitlab 어플리케이션 확인

앱이 잘 생성되었는지 “앱” 메뉴에서 확인하고 (3)-2 에서 설정한 호스트네임으로 접속해서 gitlab이 정상적으로 작동하는지 확인합니다.

gitlab에 처음 접속하면 패스워드 입력란이 나옵니다. 여기에서는 root 사용자의 패스워드를 설정하고 로그인합니다

gitlab이 성공적으로 설치되었습니다. 다음에는 gitlab에 소스를 올리고 아코디언을 이용해 빌드/배포하는 과정을 안대드리도록 하겠습니다.

Back To Top