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에 여유가 있을 때 만 작업을 왼쪽에서 오른쪽으로 당길 수 있습니다.

참고 자료

Posted by lahuman

댓글을 달아 주세요