시놀로지 NAS에 Jira를 도커로 설치하기 (DS220+)

업무 때문에 여기저기 (주로)IT업체를 방문해 보면 프로젝트 관리 또는 이슈관리 시스템으로 Jira(지라)를 사용하는 경우를 많이 보게된다. 하지만 난 "보기"만 했지 직접 "설치"를 해본적은 없다. 직접 설치하고 사용자 계정과 프로젝트를 만들고 이슈 처리 절차를 정의해본 경험이 없다는 얘기다. 

 

그래서 이번에 시놀로지 NAS의 Docker에 Jira를 설치해보기로 했다.

먼저 Jira Home 디렉토리 만들기

먼저 Jira 설치 시 홈디렉토리 생성 폴더로 마운트 해줄 "Atlassian" 이라는 디렉토리를 파일 스테이션의 docker 디렉토리 아래에 만들어 준다. 

JIRA_HOME에 사용될 디렉토리 생성

 

JIRA 도커 이미지 다운로드

시놀로지 NAS의 DSM에서 Docker 관리자를 실행하고 아래 화면처럼 atlassian-jira 를 검색해 다운로드 받는다.

Jira 도커 이미지 검색
Jira 도커 이미지 검색

가장 최근 버전으로 다운로드 받는다. 모두 다운로드 되면 아래와 같이 이미지 목록에 보이게 된다.

다운로드 받은 Atlassian Jira 이미지
다운로드 받은 Atlassian Jira 이미지

 

Jira 컨테이너 생성하고 실행하기

앞 화면처럼 "이미지" 목록에 Jira 다운로드가 완료되면 더블클릭 또는 이미지 선택 후 실행 버튼을 눌러 컨테이너 생성을 시작한다.

Jira 컨테이너 실행
Jira 컨테이너 실행

컨테이너의 이름을 Atlassian-JIRA로 정하고 "높은 권한을~~" 을 체크하고 (편하지만 보안 상 권하지 않음) "고급 설정" 버튼을 누른다.

 

"고급 설정"에는 아무런 설정을 체크하지 않는다.

고급 설정

다음 "볼륨"에는 다음과 같이 마운트 경로를 매핑해준다.

볼륨 매핑

"네트워크"는 Docker 호스트와 동일한 네트워크 사용을 체크해줬다.

네트워크 설정

"환경"에서는 특별히 바꿔줄 것은  없다. JIRA_HOME이 컨테이너 외부 디렉토리가 마운트 되는 경로 아래에 jira로 되어 있다. 

환경 설정

"적용" 버튼을 클릭하여 컨테이너 생성 화면으로 돌아간다.

컨테이너 생성

"다음" 버튼을 누른다. 환경 설정의 요약을 보여준다.

컨테이너 생성을 위한 정보 요약

"완료" 버튼을 눌러 컨테이너를 생성한다.

 

Docker 관리자에서 컨테이너 메뉴를 선택하면 새로 생성된 Atlassian-JIRA 라는 컨테이너가 실행중임을 알 수 있다.

시놀로지 NAS에 생성된 JIRA 컨테이너
생성된 JIRA 컨테이너

참로고... JIRA는 기본적으로 MariaDB를 지원하지 않는다. MariaDB를 사용하는 방법도 있는 것 같은데... 귀찮아서 그냥 MySQL 5.7을 도커로 설치했다. .MariaDB를 설치하는 것과 동일한 과정을 거치면 되는데... 마지막 단계의 환경 변수로 MYSQL_ROOT_PASSWORD 만 바꿔서 컨테이너를 생성하면 된다.

 

Jira Setup을 위한 MySQL 환경 설정하기

Jira를 설치하다보면 MySQL 등 RDBMS를 저장소로 사용할 수 있는데... MySQL의 기본 환경설정으로는 설치가 되지 않는다. 미리 MySQL의 환경설정을 변경해주어야 한다. 

이 변경은 my.cnf 에서 할 수 있는데... 다음과 같은 my.cnf 파일을 만들어 MySQL을 컨테이너로 설정 시 conf.d 디렉토리를 외부로 마운트 하도록 한 디렉토리에 업로드 한 뒤 MySQL 컨테이너를 재실행해주면 된다.

시놀로지 NAS의 conf.d 디렉토리에 업로드할 my.cnf

이 my.cnf 파일은 개행문자 오류가 발생할까 싶어 윈도에 설치되는 vim 명령으로 만들었다. Jira의 설치 도움말 페이지에서 요구하는 MySQL 5.7의 환경 설정값은 다음과 같다.

[mysqld]
default-storage-engine=INNODB
character_set_server=utf8mb4
innodb_default_row_format=DYNAMIC
innodb_large_prefix=ON
innodb_file_format=Barracuda
innodb_log_file_size=2G

위의 내용을 my.cnf 파일로 저장하고 다음과 같이 DSM의 파일스테이션에서 docker/mysql579/conf.d 에 업로드 한다.

JIRA의 요구사항을반영한 my.cnf 파일을 업로드

docker/MySQL579/conf.d 는 MySQL 5.7.9를 도커로 설치할 때 /etc/mysql/conf.d 에 마운트 되도록 환경 설정해준 호스트의 디렉토리다.

 

이 파일을 업로드 한 뒤 Docker 관리자에서 MySQL 컨테이너를 중지했다 다시 시작한다.

 

다음은 Jira 컨테이너에서 사용할 MySQL의 사용자 계정과 DB를 생성해야 한다. MySQL 컨테이너에 DB 접속도구를 통해 root 계정으로 접속한 뒤 다음의 SQL 차례대로 한 라인씩 실행해준다.

JIRA에서 사용할 MySQL 계정과 DB 생성하기

위의 SQL문은 다음과 같다.

use mysql;

CREATE USER 'jirasvc'@'%' IDENTIFIED BY '**비밀번호**' PASSWORD EXPIRE NEVER;

CREATE DATABASE jiradb CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

GRANT ALL PRIVILEGES on jiradb.* TO 'jirasvc'@'%';

FLUSH PRIVILEGES;

계정과 DB가 모두 정상적으로 생성되었다면 .Jira Setup 을 진행한다.

 

JIRA 셋업하기

다음 부터는 Jira 설치 웹페이지를 보면서 작업을 진행하면 된다. 시놀로지 NAS의 DSM에 웹스테이션 등을 설치할 필요는 없다. 그냥 시놀로지 NAS의 DSM 접속에 사용하는 URL에 포트번호만 8080으로 변경해 주면 된다.

다음과 같이 말이다. 아래의 경우 브라우저에 192.168.219.100:8080 을 입력해 접속한 Jira setup 화면이다.

Jira Setup 화면

I'll set it up myself 을 클릭해 선택하고 아래의 Continue to MyAtlassian 버튼을 누른다.

 

Database setup에서 My Own Database를 선택하고 아래에서 MySQL 5.7을 선택한다. 그리고 접속정보를 다음과 같이 입력한다.

JIRA 데이터베이스 셋업

MySQL의 환경을 요구사항에 맞추지 못하면 에러가 난다. "Next"를 클릭한다.

 

어플리케이션의 타이틀을 비롯해 몇가지 설정을 한다.

.Jira 타이틀 및 모드 설정

"Next"를 누른다.

 

이제 라이센스를 준비해야 한다. 라이센스 생성에는 Server ID가 필요하다.

Jira 라이센스

다음과 같이 라이센스 키를 만들어 위 화면과 같이 입력한다.

Jira Demo 라이센스 만들기

설치 버전 Jira는 라이센스가 필요하다. Jira는 예전 설치버전 판매에서 클라우드 서비스로 무게중심을 옮긴 듯 하다. 

일단 Atlassian의 홈페이지에 회원가입을 하고 https://my.atlassian.com/product 에서 다음과 같이 1개월 무료 라이센스를 발급받는다. 

라이센스를 발급받기 위해서는 Jira setup 과정에서 표시해주는 Server ID를 입력해야 한다.

Jira 라이센스 발급

 

라이센스를 입력하고 "Next" 버튼을 누른다.

 

Jira관리자 계정을 만든다.

Jira 관리자 계정 만들기

이메일 셋업하기.

이메일 설정하기

로그인 하라고 한다.

Jira Login

 

끝..!!

 

Jira 관리자 계정으로 로그인하고 프로젝트를 만들든 뭐든 할 수 있다.

 

이 단계가 되면 MySQL과 Jira 컨테이너의 상태는 다음과 같다.

Jira와 MySQL 설치 및 연동 후 상태

Jira가 2.27 GB, MySQL이 3.49 GB의 램을 사용한다. 시놀로지의 램은 최소 10 GB는 되어야 한다. 

 

#jira #시놀로지 #DS220+ #docker #mysql

댓글(0)

Designed by JB FACTORY