Docker環境下Redmine的部署指南!
阿新 • • 發佈:2019-02-03
# 1、 docker下拉取並啟動mysql映象
docker run -d -p 3306:3306 --name some-mysql -e MYSQL_ROOT_PASSWORD="secret" -e MYSQL_DATABASE=redmine mysql:5.7
# 2、 Docker下修改mysql配置(修改utf-8字符集)
參考地址:http://blog.csdn.net/sqandczm/article/details/78152451?locationNum=7&fps=1
進入容器後輸入:
mysql -u root -p
SHOW VARIABLES LIKE 'character_set_%';//檢視資料庫字符集
SHOW VARIABLES LIKE 'collation_%';
SET NAMES 'utf8';
最後修改etc/mysql/mysql.conf.d/mysql.cnf配置檔案內容如下所示:
~~~bash
# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
# The MySQL Server configuration file.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
[mysql]
default-character-set = utf8
[mysql_safe]
default-character-set = utf8
[client]
default-character-set = utf8
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
#log-error = /var/log/mysql/error.log
# By default we only accept connections from localhost
#bind-address = 127.0.0.1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
init_connect = 'SET NAMES utf8'
character-set-server = utf8
collation-server = utf8_unicode_ci
~~~
**注:修改配置檔案後退出並重啟mysql服務(通過docker restart命令);另本步驟為必須,否則redmine將無法正確儲存中文,會報異常無法操作。**
---
# 3、 docker下拉取並啟動redmine映象
docker run -d -p 8088:3000 --name some-redmine --link some-mysql:mysql redmine:3.4
# 4、 後續訪問
目前為止,開啟瀏覽器訪問物理機的8088埠就可以開啟redmine的頁面了。
管理員帳號是admin,密碼admin。
# 5、 版本庫的配置
在選擇scm為git時,庫路徑中寫入git的路徑即可(**注意:需要包括.git所在的路徑**)
因標準安裝的redmine只能訪問本地git版本庫,不能通過git協議訪問git版本庫,所以我們可以通過git clone --mirror克隆映象到本地的方法來解決。
本例中已將odin專案克隆至/usr/src/redmine/files/odin資料夾中,故而此處的庫路徑填寫成:**/usr/src/redmine/files/odin/.git**
# 6 、 redmine的外掛安裝
通過docker exec -it 進入容器中,進入到plugins目錄下,通過git clone方式來獲取外掛後,通過如下命令完成外掛安裝。
## 6.1 安裝程式碼評審外掛
進入容器目錄:/usr/src/redmine/plugins#下執行:
克隆映象:
git clone https://github.com/haru/redmine_code_review.git
安裝外掛:
rake redmine:plugins:migrate RAILS_ENV=production
或者:
RAILS_ENV=production bundle exec rake redmine:plugins:migrate
完成外掛安裝。
## 6.2 程式碼評審配置
選擇專案-->配置-->模組-->勾選程式碼評審即會出現程式碼評審相關選項卡。
## 6.3 解除安裝Redmine外掛
RAILS_ENV=production bundle exec rake redmine:plugins:migrate NAME=projects_show VERSION=0
或者:
rake redmine:plugins:migrate NAME=redmine_code_review VERSION=0 RAILS_ENV=production
* **其中NAME為外掛的名稱。**
執行上述命令後同時刪除外掛所在的目錄,執行如下命令:
rm -rf plugins/redmine_code_review
# 7、 使用docker-compose方式安裝
docker-compose -f redmine.yml up -d
redmine.yml檔案內容:
~~~bash
version: '3.1'
services:
redmine:
image: redmine:3.4
restart: always
ports:
- 8080:3000
environment:
REDMINE_DB_MYSQL: db
REDMINE_DB_PASSWORD: secret
volumes:
- /mnt/redmine/log:/usr/src/redmine/log
depends_on:
- db
db:
image: mysql:5.7
restart: always
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: secret
MYSQL_DATABASE: redmine
LANG: C.UTF-8
MYSQL_CHARSET: utf-8
command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci
volumes:
- /mnt/redmine/mysql/datadir:/var/lib/mysql
~~~
docker run -d -p 3306:3306 --name some-mysql -e MYSQL_ROOT_PASSWORD="secret" -e MYSQL_DATABASE=redmine mysql:5.7
# 2、 Docker下修改mysql配置(修改utf-8字符集)
參考地址:http://blog.csdn.net/sqandczm/article/details/78152451?locationNum=7&fps=1
進入容器後輸入:
mysql -u root -p
SHOW VARIABLES LIKE 'character_set_%';//檢視資料庫字符集
SHOW VARIABLES LIKE 'collation_%';
SET NAMES 'utf8';
最後修改etc/mysql/mysql.conf.d/mysql.cnf配置檔案內容如下所示:
~~~bash
# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
# The MySQL Server configuration file.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
[mysql]
default-character-set = utf8
[mysql_safe]
default-character-set = utf8
[client]
default-character-set = utf8
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
#log-error = /var/log/mysql/error.log
# By default we only accept connections from localhost
#bind-address = 127.0.0.1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
init_connect = 'SET NAMES utf8'
character-set-server = utf8
collation-server = utf8_unicode_ci
~~~
**注:修改配置檔案後退出並重啟mysql服務(通過docker restart命令);另本步驟為必須,否則redmine將無法正確儲存中文,會報異常無法操作。**
---
# 3、 docker下拉取並啟動redmine映象
docker run -d -p 8088:3000 --name some-redmine --link some-mysql:mysql redmine:3.4
# 4、 後續訪問
目前為止,開啟瀏覽器訪問物理機的8088埠就可以開啟redmine的頁面了。
管理員帳號是admin,密碼admin。
# 5、 版本庫的配置
在選擇scm為git時,庫路徑中寫入git的路徑即可(**注意:需要包括.git所在的路徑**)
因標準安裝的redmine只能訪問本地git版本庫,不能通過git協議訪問git版本庫,所以我們可以通過git clone --mirror克隆映象到本地的方法來解決。
本例中已將odin專案克隆至/usr/src/redmine/files/odin資料夾中,故而此處的庫路徑填寫成:**/usr/src/redmine/files/odin/.git**
# 6 、 redmine的外掛安裝
通過docker exec -it 進入容器中,進入到plugins目錄下,通過git clone方式來獲取外掛後,通過如下命令完成外掛安裝。
## 6.1 安裝程式碼評審外掛
進入容器目錄:/usr/src/redmine/plugins#下執行:
克隆映象:
git clone https://github.com/haru/redmine_code_review.git
安裝外掛:
rake redmine:plugins:migrate RAILS_ENV=production
或者:
RAILS_ENV=production bundle exec rake redmine:plugins:migrate
完成外掛安裝。
## 6.2 程式碼評審配置
選擇專案-->配置-->模組-->勾選程式碼評審即會出現程式碼評審相關選項卡。
## 6.3 解除安裝Redmine外掛
RAILS_ENV=production bundle exec rake redmine:plugins:migrate NAME=projects_show VERSION=0
或者:
rake redmine:plugins:migrate NAME=redmine_code_review VERSION=0 RAILS_ENV=production
* **其中NAME為外掛的名稱。**
執行上述命令後同時刪除外掛所在的目錄,執行如下命令:
rm -rf plugins/redmine_code_review
# 7、 使用docker-compose方式安裝
docker-compose -f redmine.yml up -d
redmine.yml檔案內容:
~~~bash
version: '3.1'
services:
redmine:
image: redmine:3.4
restart: always
ports:
- 8080:3000
environment:
REDMINE_DB_MYSQL: db
REDMINE_DB_PASSWORD: secret
volumes:
- /mnt/redmine/log:/usr/src/redmine/log
depends_on:
- db
db:
image: mysql:5.7
restart: always
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: secret
MYSQL_DATABASE: redmine
LANG: C.UTF-8
MYSQL_CHARSET: utf-8
command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci
volumes:
- /mnt/redmine/mysql/datadir:/var/lib/mysql
~~~