ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Redmine을 raspberry pi 4에 설치 하기
    Raspberry PI & Jetson nano 2021. 12. 27. 02:18

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

    참고 자료

Designed by Tistory.