Docker) Jira 배포 가이드
사전 준비
배포 정보는 아래와 같습니다.
- Jira 9.12.15(JDK 17)
- PostgreSQL 15.7
docker-compose.yml
services:
jira:
image: atlassian/jira-software:9.12.15-jdk17
container_name: JIRA
environment:
- JVM_MINIMUM_MEMORY=4G
- JVM_MAXIMUM_MEMORY=4G
- ATL_PROXY_PORT=443
- ATL_PROXY_NAME=jira.zlcus.com
- ATL_TOMCAT_SCHEME=https
- TZ=Asia/Seoul
volumes:
- ./data/app:/var/atlassian/application-data/jira
- ./logs:/data/jira-log
- ./log4j2.xml:/opt/atlassian/jira/atlassian-jira/WEB-INF/classes/log4j2.xml
- /jira-prod-shared:/shared
networks:
- atlassian
- nginx
restart: always
depends_on:
- jira-db
jira-db:
image: postgres:15.7
container_name: JIRA-PROD-DB
environment:
- POSTGRES_PASSWORD=jiradb
- PGDATA=/var/lib/postgresql/data/pgdata
- TZ=Asia/Seoul
- PGTZ=Asia/Seoul
volumes:
- ./data/db:/var/lib/postgresql/data/pgdata
networks:
- atlassian
restart: always
networks:
atlassian:
external: true
nginx:
external: true
Nginx를 별도로 사용하기에 포트 노출없이 컨테이너를 생성합니다.
Environment에 대한 정보는 Atlassian 공식 가이드를 참고하여 작성합니다.
💡
Jira 내부 커스텀된 파일이 존재하면 volumes에 매핑하여 사용합니다.
(위 예제에서는 log4j2.xml 파일이 해당되며 별도 로그 디렉토리를 지정하였습니다.)
(위 예제에서는 log4j2.xml 파일이 해당되며 별도 로그 디렉토리를 지정하였습니다.)
Atlassian 공식 이미지 내부 JAR 파일의 취약점으로 커스텀하여 사용하길 원한다면 아래 Atlassian 공식 레포지토리를 참고하여 이미지를 빌드하시면 됩니다.
Bitbucket
초기 배포
컨테이너를 배포하고 첫 서비스라면 DB 설정 또한 해야합니다.
# DB 컨테이너 접속
docker compose exec -it jira-db bash
# postgres 계정으로 전환
su postgres
# PostgreSQL 접속
psql
Jira DB 생성 및 DB 계정 생성
CREATE USER <JIRA-DB-USERNAME> PASSWORD '<JIRA-DB-USER-PASSWORD>';
CREATE DATABASE <JIRA-DB-NAME> WITH OWNER <JIRA-DB-USERNAME> ENCODING 'UNICODE' LC_COLLATE 'C' LC_CTYPE 'C' TEMPLATE template0;
GRANT ALL PRIVILEGES ON DATABASE <JIRA-DB-NAME> TO <JIRA-DB-USERNAME>;
이후 과정은 Jira 서비스 구성 및 설치 가이드를 참고하여 초기 설정을 진행하면 됩니다.
Member discussion