阿里云服务器上通过Docker部署redmine
背景:在日常工作的过程中会遇到各种各样的问题,每个问题来了之后需要花时间解决。这里就面临两个问题.
1:问题责任不明确,有时候会遇到数据库或者物理服务器的问题,这时候就需要把相应问题指派给相应的人,传统手工发邮件的方式比较随意难以管理,需要一个统一的问题分派系统。
2:问题记录不全。这导致有些复杂问题时间久了就会遗忘而放之不管;而普通问题时间久了解决的方法也会忘记,下次遇到类似问题还需要花很多时间处理;最后简单问题没有记录导致无法对系统的薄弱之处进行统计分析。
综上需要搭建进行问题追踪系统。
前期准备使用bugzilla进行搭建,但是发现bugzilla搭建比较复杂且中文支持较差,不适合现有工作环境。通过网上的查找,觉得redmine比较适合我们现在的团队,轻量且易部署且插件多,可扩展性较强。
基础环境:阿里云服务器
考虑到需要有邮件推送的功能,公司内部服务器又连不上外部网络,为了避开GFW的软件下载限制,故将系统部署在阿里云香港服务器上。
Redmine安装部署
Redmine是用Ruby开发的基于web的项目管理软件,是用ROR框架开发的一套跨平台项目管理系统,据说是源于Basecamp的ror版而来,支持多种数据库,有不少自己独特的功能,例如提供wiki、新闻台等,还可以集成其他版本管理系统和BUG跟踪系统,例如Perforce、SVN、CVS、TD等等。这种 Web 形式的项目管理系统通过“项目(Project)”的形式把成员、任务(问题)、文档、讨论以及各种形式的资源组织在一起,大家参与更新任务、文档等内容来推动项目的进度,同时系统利用时间线索和各种动态的报表形式来自动给成员汇报项目进度。
1,安装redmine,postgresql
- docker pull sameersbn/redmine
- docker pull sameersbn/postgresql
不推荐官方的安装方式,版本不匹配会导致redmine起不来。
数据库用pgsql,mysql都是可以的
2,创建映射目标
- mkdir -p /home/docker/redmine/postgresql
- mkdir -p /home/docker/redmine/redmine
3,创建容器
- docker run --name=postgresql-redmine -d --env='DB_NAME=redmine_production' --env='DB_USER=redmine' --env='DB_PASS=password' --restart=always --volume=/home/docker/redmine/postgresql:/var/lib/postgresql sameersbn/postgresql
- docker run --name=redmine -d --link=postgresql-redmine:postgresql --publish=10083:80 --env='REDMINE_PORT=10083' --restart=always --volume=/home/docker/redmine/redmine:/home/redmine/data sameersbn/redmine (此命令为不需要邮件服务的命令,需要邮件服务的命令见下)
4,查看状态
- docker@default:~/redmine/redmine/plugins$ docker ps
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- 32f8f0192bd9 sameersbn/redmine "/sbin/entrypoint...." 9 hours ago Up 2 hours 443/tcp, 0.0.0.0:10083->80/tcp redmine
- 857795a66334 sameersbn/postgresql "/sbin/entrypoint.sh" 9 hours ago Up 9 hours 5432/tcp postgresql-redmine
在这里要注意,如果你用了虚拟机,创建容器的时候,要登录虚拟机中创建。
5,登录与访问
- 地址:http://IP:10083/
- 默认用户名:admin
- 默认密码:admin
6,插件安装,以redmine_agile为例
常用插件列表:https://github.com/sameersbn/docker-redmine/wiki/plugins
- # cd /home/docker/redmine/redmine/plugins
- # git clone https://github.com/RCRM/redmine_agile.git
- # docker restart redmine
登录到后台,点击项目,查看所有问题就能看到安装的插件了。
Redmine邮件配置
用了sameersbn/redmine,在网上查了一下,很多人都说修改configuration.yml这个文件,但是我发现,登录到容器中,修改这个文件,重启容器后,这个文件又恢复了,无法修改。后来我想把这个配置文件的目录,通过--volume映射到真实的服务器上,但是映射后容器无法重启。
docker run --name=redmine -d --link=postgresql-redmine:postgresql --publish=10083:80 \
--env='REDMINE_PORT=10083' --env='SMTP_USER=*********@163.com' --env='SMTP_PASS=******' \
--env='SMTP_PORT=465' --env='SMTP_HOST=smtp.163.com' --env='SMTP_DOMAIN=smtp.163.com' \
--env='SMTP_AUTHENTICATION=login' --env='SMTP_TLS=true' --restart=always \
-v /src/docker/redmine/redmine:/home/redmine/data sameersbn/redmine
注意:SMTP_PASS是网易提供的授权码,不是邮箱的密码。申请邮箱后,在个人设置中开通smtp,pop3服务
SMTP_TLS如果为false会导致发送邮件出现"end of file reached"错误。
SMTP_PORT这里需要设置为非25端口,因为阿里云默认封25端口。
格式问题:yml文件自身格式,空格缩进等要求严格,建议在理解基础上拷贝,因为拷贝时经常造成空格异位等问题。另外引号和特殊字符等等也均有可能造成问题。
启动后通过docker ps找到redmine的container-id通过dockers exec -it container-id /bin/bash进入redmine,
修改conf目录下setting里mail_from为你163账户,将default_host修改为阿里云服务器地址:10083
在设定redmine之前,最好确认一下是否在redmine所在环境之上邮件收发是否能正常动作,防止一些低级错误,最后发送测试邮件
telnet SMTP.163.com 465
最后在阿里云服务器上增加安全规则,放开10083端口的访问。
阿里云服务器上通过Docker部署redmine的更多相关文章
- 阿里云服务器上在docker部署jenkins
1.查询jenkins:docker search jenkins 2.拉取jenkins镜像 docker pull jenkins/jenkins:lts 3.新建jenkins的工作目录: mk ...
- 云服务器上利用Docker部署Django项目
转载别人的,请看下面链接 云服务器上利用Docker部署Django项目
- 如何在云服务器上使用Docker部署easy-mock
部署Easy-mock 安装Docker Ubuntu下安装Docker 安装Docker-compose Ubuntu下安装docker-compose 使用Docker部署 Easy-Mock D ...
- unigui在阿里云服务器上部署
unigui在阿里云服务器上部署 客户租用了阿里云WINDOWS2008服务器,部署UNIGUI发现死活不行,WINDOWS2008自带的IE9浏览器打开URL,卡死在loading...... 我远 ...
- Linux学习2-在阿里云服务器上部署禅道环境
前言 以前出去面试总会被问到:测试环境怎么搭建?刚工作1-2年不会搭建测试环境还可以原谅自己,工作3-5年后如果还是对测试环境搭建一无所知,面试官会一脸的鄙视. 本篇以最简单的禅道环境搭建为例,学习下 ...
- 阿里云Linux CentOS 7 Docker部署使用gogs搭建自己的git服务器
一.前言 Git是目前优秀和流行的源代码管理工具.而GitHub是一个面向开源及私有软件项目的托管云平台,但开源免费,私有收费.而公司出于商业化等目的需要搭建自己的源代码托管服务器.通过网上了解Gog ...
- 阿里云服务器上搭建seafile专业版
因为官方一键安装教程在阿里云服务器上无法安装,由于水平有限,无法解决,所以选择手动安装 参考资料: 1,.腾讯云搭建seafile服务器 2.How to Install Seafile with N ...
- 阿里云服务器上安装mysql的心路历程(博友们进来看看哦)
在阿里云花了100买了一台云服务器,配置如下: CPU: 1核 内存: 512MB 数据盘: 0G 带宽: 1Mbps 阿里云服务器安装mysql搞得我想吐血,搞了一个多星期,现在才搞好,而且,还有许 ...
- 在阿里云服务器上安装完成并启动Tomcat后,通过http不能访问--解决办法
在阿里云服务器上安装完成并启动Tomcat后,通过http不能访问的原因是阿里云平台为了安全设置了安全组策略,必须我们授权的端口,其他计算机才能通过http访问 解决办法:(这里以阿里轻量应用服务器为 ...
随机推荐
- JavaScript 从入门到放弃(二)模块化工具requirejs
入门教程: 1.JS模块化工具requirejs教程(一):初识requirejs 2.JS模块化工具requirejs教程(二):基本知识 描述 这几天在使用github最活跃的基于bootstra ...
- NET Core Kestrel部署HTTPS使用SSL证书
ASP.NET Core配置 Kestrel部署HTTPS.现在大部分网站已经部署HTTPS,大家对于安全越来越重视. 今天简单介绍一下ASP.NET Core 部署HTTPS,直接通过配置Kestr ...
- 065、容器在Weave中如何通信和隔离?(2019-04-08 周一)
参考https://www.cnblogs.com/CloudMan6/p/7491831.html 在host2上执行如下命令: weave launch host1_ip 必须 ...
- Python线程和协程-day10
写在前面 上课第10天,打卡: 感谢Egon老师细致入微的讲解,的确有学到东西! 一.线程 1.关于线程的补充 线程:就是一条流水线的执行过程,一条流水线必须属于一个车间: 那这个车间的运行过程就是一 ...
- Sqlserver脚本创建登录名密码
use table1 GO ', default_database=table1; GO create user abc for login abc with default_schema=dbo; ...
- [译]Managing Vue.js State with Vuex
原文 准备 安装 Vuex, 是Vue官方出的package, 它不是Vue内置的.需要另外安装. npm install vuex --save 然后,需要在应用启动文件启用Vuex. main.j ...
- Filter 起航 编程式配置 压缩响应 日志过滤器
[编程式配置]可以用web.xml配置替换 @WebListenerpublic class FilterListenerConfigurator implements ServletContextL ...
- namecheap域名设置Cloudflare为第三方DNS
待更……等我搞完了就来写总结
- 目前比较火的前端框架及UI组件
看到的一篇总结性的文章,收藏一下,感兴趣的可以自己看看,哪些是已经会的,哪些是没听说过的,哪些是一知半解的,都可以稍微看看. 一.前端框架库: 1.Zepto.js 地址:点击打开链接 描述:Zept ...
- 嵌入式4412开发板学习知识-Linux系统基础知识
1. 什么是Linux系统编程 Linux系统编程分为三个部分:系统调用.C库和C编译器. 系统调用系统编程的基础是系统调用,也结束于系统调用.在带有操作系统的嵌入式开发中,需要从操作系统申请一些服务 ...