基于Docker构建redmine项目管理平台
本文参考了博客《docker_redmine搭建》中的内容。
redmine简介
Redmine是用Ruby开发的基于web的项目管理软件,是用ROR框架开发的一套跨平台项目管理系统,据说是源于Basecamp的ror版而来,支持多种数据库,有不少自己独特的功能,例如提供wiki、新闻台等,还可以集成其他版本管理系统和BUG跟踪系统,例如Perforce、SVN、CVS、TD等等。这种 Web 形式的项目管理系统通过“项目(Project)”的形式把成员、任务(问题)、文档、讨论以及各种形式的资源组织在一起,大家参与更新任务、文档等内容来推动项目的进度,同时系统利用时间线索和各种动态的报表形式来自动给成员汇报项目进度。
redmine搭建
基于Docker部署redmine时,只需要一个compose文件就可以了。
version: '2'
services:
redmine:
image: wanbo432503/redmine:4.0.2
container_name: my_redmine22
restart: always
ports:
- 8080:3000
environment:
- "LANG=en_US.UTF-8"
- "REDMINE_DB_DATABASE=redmine"
- "REDMINE_DB_USERNAME=root"
- "REDMINE_DB_PASSWORD=123456"
volumes:
- /opt/redmine/data:/usr/src/redmine/files
depends_on:
- mysql_db
links:
- mysql_db
mysql_db:
image: mysql:latest
container_name: mysql_redmine22
restart: always
ports:
- 3306:3306
environment:
- "MYSQL_ROOT_PASSWORD=123456"
- "MYSQL_DATABASE=redmine"
volumes:
- /opt/redmine/mysql_data:/var/lib/mysql
然后执行下列指令即可自动部署redmine。当然,需要先安装docker-compose。部署完毕之后,直接访问http://localhost:8080即可。管理员的用户名和密码分别为:admin,12345678。
sudo mkdir -p /opt/redmine/data
sudo mkdir -p /opt/redmine/mysql_data
docker-compose up -d
redmine插件安装
redmine插件有很多,但是我们的redmine版本是4.0.2,适用于该版本的插件数量有限。我们将插件排名前几名中适用于4.0.2版本的插件安装了,主要包括以下几个。
- redmine_checklists
- redmine_lightbox2
- redmine_contacts
- redmine_wktime
- redmine_agile
- redmine_issue_templates
插件安装的方式都是相同的。首先下载插件并解压缩(如果需要的话),然后用docker cp将插件复制到容器内。随后,进入容器,安装插件。
docker cp <redmine_plugins> <container ID>:/usr/src/redmine/plugins/<redmine_plugins>
docker exec -it <container ID> /bin/bash
进入特定的插件目录内,查看Gemfile内是否包含了“source 'https://rubygems.org'",如果没有包含,则
echo “source 'https://rubygems.org'" >> Gemfile
随后,开始安装过程。其中bundle install过程有可能比较长,需要耐心等待。
bundle install
rake redmine:plugins NAME=<redmine_plugins> RAILS_ENV=production
redmine主题安装
默认的redmine主题虽然还可以,但是还是存在一定的缺陷。通过redmine主题列表搜寻发现,最新的主题中,只有一个免费的。于是就选择Purplemine2这个主题。安装方式就是将主题包复制到public/themes中,并重启redmine。
docker cp redmine_theme <container ID>:/usr/src/redmine/public/themes/redmine_theme
docker restart <container ID>
上一篇: jQuery 合并单元格