raspberry pi 에 Redmine 설치하기
redmine은 오픈소스 이슈트래커로 꽤 유명한 툴입니다
오늘은 reapberry pi 에 redmine을 설치해보고, redmineup이라는 무료 플러그인을 설치해보려고 합니다. 설치는 docker-compose를 이용해서 쉽게 진행할 예정입니다.
Put Redmine docker container in Raspberry Pi 4 Model B 2GB에서 제공되는 명령어를 간략하게 작성하려고 합니다.
docker-compose 설치
sudo apt-get update #업데이트
sudo apt-get -y upgrade #업그레이드
curl -sSL https://get.docker.com | sh #install docker
sudo apt-get -y install python3-dev #pip 설치
sudo apt-get -y install python3-pip #pip 설치
sudo pip3 install --upgrade setuptools #Because pip3 may get an error
sudo pip3 install wheel #Because pip3 may get an error
sudo pip3 install docker-compose # docker-install compose
docker-compose 설정
sudo vi .bashrc
# pip3 path 추가
export PATH="$PATH:~/.local/bin
source .bashrc # 변경 내역 반영
echo $PATH # 변경내역 확인
sudo usermod -a -G docker pi # docker 명령어를 pi 계정으로 사용 처리
sudo reboot # 재기동
redmine docker-compose.yml 파일 생성
mkdir /home/pi/docker/redmine # 작업 디렉토리 생성
sudo chown root:users /home/pi/docker/redmine # 사용자 지정
sudo chmod 775 /home/pi/docker/redmine # 접근 설정
cd /home/pi/docker/redmine # 작업 디렉토리로 이동
sudo touch docker-compose.yml # 파일 생성
sudo vi docker-compose.yml # 파일 내역 작성 (아래 참고)
docker-compose -f docker-compose.yml up -d # 실행
docker-compose.yml
비밀번호나, 디렉토리 위치는 적절하게 변경하여 사용하셔요.
version: '3.8'
services:
redmine:
image: arm32v7/redmine
container_name: redmine
ports:
- 3000:3000
volumes:
- ./files:/usr/src/redmine/files
- ./log:/usr/src/redmine/log
- ./plugins:/usr/src/redmine/plugins
- ./public/themes:/usr/src/redmine/public/themes
environment:
REDMINE_DB_POSTGRES: redmine-db
REDMINE_DB_DATABASE: redmine
REDMINE_DB_USERNAME: redmine
REDMINE_DB_PASSWORD: redmine
REDMINE_DB_ENCODING: utf8
depends_on:
- redmine-db
restart: always
redmine-db:
image: postgres
restart: always
environment:
POSTGRES_DB: redmine-db
POSTGRES_USER: redmine
POSTGRES_PASSWORD: redmine
volumes:
- ./dbdata/:/var/lib/postgresql/data
postgresql 데이터 베이스 생성
처음 실행을 하면 아마 redmine에서 테이블이 없다는 오류가 발생합니다.
오류 내용중 발췌
ActiveRecord::NoDatabaseError: FATAL: database "redmine" does not exist
데이터 베이스 create 처리
docker logs redmine # 위의 오류가 발생하는지 확인
docker container exec -it redmine-db /bin/bash # redmine db container접속
createdb redmine --encoding=utf8 -O redmine -U redmine # 데이터 베이스 생성
exit #redmine db container 나가기
docker rm redmine # 기존 redmine container 삭제
docker-compose -f docker-compose.yml up -d # 재실행
이후 redmine이 정상적으로 기동 되는 것을 확인 할 수 있습니다.
redmineup 플러그인 설치
redmineup은 칸반보드를 제공하는 플러그인입니다.
먼저 무료 버젼을 다운로드 받습니다.
redmineup 사이트에서 다운로드를 누르면 이메일 정보를 입력하라고 합니다.
입력을 완료 하면 메일 첨부파일로 전달하여 줍니다.
첨부된 파일을 다운로드 받고 ./plugins:/usr/src/redmine/plugins
에서 압축을 풉니다.
cp redmine_agile-x_x_x-pro.zip plugins/
cd plugins
unzip redmine_agile-x_x_x-pro.zip
이후 docker container 안에서 플러그인을 설치해줍니다.
# container 목록 확인
docker ps
...
225fd2755f66 arm32v7/redmine "/docker-entrypoint.…" 23 hours ago Up 20 hours 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp redmine
...
# container bash shell 접근
docker exec -it redmine /bin/bash
플러그인 설치 명령어
cd /var/www/redmine
bundle install --without development test --no-deployment
테이블 마이그레이션
bundle exec rake redmine:plugins NAME=redmine_agile RAILS_ENV=production
redmine 재시작
touch tmp/restart.txt
반영된 화면
칸반 보드로 시각화되고 각각 단계는 열로 표시하여 작업진행이 한눈에 보입니다.
칸반보드
이슈들은 “수영 레인(SwimLane)”으로 불리는 행으로 나누고 우선순위가 낮은 이슈들을 아래에 배치합니다. 칸반의 핵심은 Work-In-Process(WIP)가 동시에 개발이 진행 될 수 있는 아이템의 수를 제한하는 것이며, 작업자는 WIP에 여유가 있을 때 만 작업을 왼쪽에서 오른쪽으로 당길 수 있습니다.