개발

Redmine 운영 1 - 설치

빠빠담 2020. 12. 7. 04:16
반응형

 

나는 도커를 통해 redmine을 설치 하였다.

 

version: '3.1'

services:

  mysql:
    container_name: redmine_mysql
    image: mysql:5.7
    restart: always
    # networks:
    #   - redmine_network
    ports:
      - 3306:3306
    environment:
      MYSQL_ROOT_PASSWORD: redmine
      MYSQL_DATABASE: redmine
    volumes:
      - redmine_mysql_data:/var/lib/mysql
    command:
      - --character-set-server=utf8mb4
      - --collation-server=utf8mb4_general_ci

  redmine:
    container_name: redmine
    image: redmine
    restart: always
    # networks:
    #   - redmine_network
    ports:
      - 3000:3000
    environment:
      REDMINE_DB_MYSQL: mysql
      REDMINE_DB_DATABASE: redmine
      REDMINE_DB_PASSWORD: redmine
      REDMINE_DB_ENCODING: utf8
      # REDMINE_NO_DB_MIGRATE: true
    volumes:
      - redmine_data:/usr/src/redmine/files
      - redmine_plugin_data:/usr/src/redmine/plugins
        # - /home/kyd/workspace/docker/redmine/volumn/redmine/themes:/usr/src/redmine/public/themes
    depends_on:
      - mysql
        # condition: service_healthy

volumes:
  redmine_mysql_data:
  redmine_data:
  redmine_plugin_data:

# networks:
#   redmine_network:
#     driver: bridge

 

도커를 실행하자

# docker-compose up -d

 

초기 아이디와 비밀번호는 

admin / admin

으로 설정되어있다

 

로그인 이후 프로젝트 생성 후

설정페이지로 가서 저장소 설정을 해주자.

$ docker exec -it redmine /bin/bash

// ssh키를 등록하자.
// 이후 github에 redmine pub key를 설정하자.
# ssh-keygen

// vcs 폴더를 설정한다. 편한 위치로 설정하자
# cd /usr/src/redmine
# mkdir git

// git clone 시 --mirror 옵션을 필수로 입력한다.
# cd /usr/src/redmine/git
# git clone --mirror git@git

 

저장소 경로를 위의 clone 경로로 잘 설정해주고 만들기를 클릭하면 끝이난다.

 

 

마지막으로 깃에 새로운 소스가 푸시되어도 redmine에서 이를 알아낼 방법이 없기에

redmine에서 주기적으로 git fetch를 해주어야 한다.

 

#!/bin/bash

REPOS=`ls -d /usr/src/redmine/git/*`

for repo in $REPOS
do
	cd $repo
    git fetch
done

해당 스크립트를 redmine 컨테이너 안에 입력하고

호스트 os 에서 cron을 통해 해당 스크립트를 주기적으로 실행시켜 동기화 작업을 시켜준다.

 

$ sudo crontab -e 

* * * * * docker exec redmine /bin/bash /root/fetch.sh

 

반응형