阿里云服务器上通过Docker部署redmine

时间:2022-09-09 09:36:43

背景:在日常工作的过程中会遇到各种各样的问题,每个问题来了之后需要花时间解决。这里就面临两个问题.

1:问题责任不明确,有时候会遇到数据库或者物理服务器的问题,这时候就需要把相应问题指派给相应的人,传统手工发邮件的方式比较随意难以管理,需要一个统一的问题分派系统。

2:问题记录不全。这导致有些复杂问题时间久了就会遗忘而放之不管;而普通问题时间久了解决的方法也会忘记,下次遇到类似问题还需要花很多时间处理;最后简单问题没有记录导致无法对系统的薄弱之处进行统计分析。

综上需要搭建进行问题追踪系统。

前期准备使用bugzilla进行搭建,但是发现bugzilla搭建比较复杂且中文支持较差,不适合现有工作环境。通过网上的查找,觉得redmine比较适合我们现在的团队,轻量且易部署且插件多,可扩展性较强。

基础环境:阿里云服务器

考虑到需要有邮件推送的功能,公司内部服务器又连不上外部网络,为了避开GFW的软件下载限制,故将系统部署在阿里云香港服务器上。

Redmine安装部署

Redmine是用Ruby开发的基于web的项目管理软件,是用ROR框架开发的一套跨平台项目管理系统,据说是源于Basecamp的ror版而来,支持多种数据库,有不少自己独特的功能,例如提供wiki、新闻台等,还可以集成其他版本管理系统和BUG跟踪系统,例如Perforce、SVN、CVS、TD等等。这种 Web 形式的项目管理系统通过“项目(Project)”的形式把成员、任务(问题)、文档、讨论以及各种形式的资源组织在一起,大家参与更新任务、文档等内容来推动项目的进度,同时系统利用时间线索和各种动态的报表形式来自动给成员汇报项目进度。

1,安装redmine,postgresql

  1. docker pull sameersbn/redmine
  2. docker pull sameersbn/postgresql

不推荐官方的安装方式,版本不匹配会导致redmine起不来。

数据库用pgsql,mysql都是可以的

2,创建映射目标

  1. mkdir -p /home/docker/redmine/postgresql
  2. mkdir -p /home/docker/redmine/redmine

3,创建容器

  1. 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
  2. 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,查看状态

  1. docker@default:~/redmine/redmine/plugins$ docker ps
  2. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  3. 32f8f0192bd9 sameersbn/redmine "/sbin/entrypoint...." 9 hours ago Up 2 hours 443/tcp, 0.0.0.0:10083->80/tcp redmine
  4. 857795a66334 sameersbn/postgresql "/sbin/entrypoint.sh" 9 hours ago Up 9 hours 5432/tcp postgresql-redmine

在这里要注意,如果你用了虚拟机,创建容器的时候,要登录虚拟机中创建。

5,登录与访问

  1. 地址:http://IP:10083/
  2. 默认用户名:admin
  3. 默认密码:admin

6,插件安装,以redmine_agile为例

常用插件列表:https://github.com/sameersbn/docker-redmine/wiki/plugins

  1. # cd /home/docker/redmine/redmine/plugins
  2. # git clone https://github.com/RCRM/redmine_agile.git
  3. # 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的更多相关文章

  1. 阿里云服务器上在docker部署jenkins

    1.查询jenkins:docker search jenkins 2.拉取jenkins镜像 docker pull jenkins/jenkins:lts 3.新建jenkins的工作目录: mk ...

  2. 云服务器上利用Docker部署Django项目

    转载别人的,请看下面链接 云服务器上利用Docker部署Django项目

  3. 如何在云服务器上使用Docker部署easy-mock

    部署Easy-mock 安装Docker Ubuntu下安装Docker 安装Docker-compose Ubuntu下安装docker-compose 使用Docker部署 Easy-Mock D ...

  4. unigui在阿里云服务器上部署

    unigui在阿里云服务器上部署 客户租用了阿里云WINDOWS2008服务器,部署UNIGUI发现死活不行,WINDOWS2008自带的IE9浏览器打开URL,卡死在loading...... 我远 ...

  5. Linux学习2-在阿里云服务器上部署禅道环境

    前言 以前出去面试总会被问到:测试环境怎么搭建?刚工作1-2年不会搭建测试环境还可以原谅自己,工作3-5年后如果还是对测试环境搭建一无所知,面试官会一脸的鄙视. 本篇以最简单的禅道环境搭建为例,学习下 ...

  6. 阿里云Linux CentOS 7 Docker部署使用gogs搭建自己的git服务器

    一.前言 Git是目前优秀和流行的源代码管理工具.而GitHub是一个面向开源及私有软件项目的托管云平台,但开源免费,私有收费.而公司出于商业化等目的需要搭建自己的源代码托管服务器.通过网上了解Gog ...

  7. 阿里云服务器上搭建seafile专业版

    因为官方一键安装教程在阿里云服务器上无法安装,由于水平有限,无法解决,所以选择手动安装 参考资料: 1,.腾讯云搭建seafile服务器 2.How to Install Seafile with N ...

  8. 阿里云服务器上安装mysql的心路历程(博友们进来看看哦)

    在阿里云花了100买了一台云服务器,配置如下: CPU: 1核 内存: 512MB 数据盘: 0G 带宽: 1Mbps 阿里云服务器安装mysql搞得我想吐血,搞了一个多星期,现在才搞好,而且,还有许 ...

  9. 在阿里云服务器上安装完成并启动Tomcat后,通过http不能访问--解决办法

    在阿里云服务器上安装完成并启动Tomcat后,通过http不能访问的原因是阿里云平台为了安全设置了安全组策略,必须我们授权的端口,其他计算机才能通过http访问 解决办法:(这里以阿里轻量应用服务器为 ...

随机推荐

  1. @寒冬winter 大神的css作业问题

    块级元素   ①总是在新行上开始: ②高度,行高以及外边距和内边距都可控制: ③宽度缺省是它的容器的100%,除非设定一个宽度. ④它可以容纳内联元素和其他块元素 行内级元素   ①和其他元素都在一行 ...

  2. Struts2框架下表单数据的流向以及映射关系

    本例框架很简单:默认页面为用户登录界面login.jsp,提交后由action类LoginAction.java来判断成功或失败,登录结果分别由success.jsp和failure.jsp呈现. 一 ...

  3. linux shell 命令学习(5) xxd- make a hexdump or do the reverse.

    对于标准输入或者给定的文件,显示其16进制的内容.也可以反过来进行转换. xxd -h[elp] xxd [options] [infile [outfile]] xxd -r[evert] [opt ...

  4. 实战:ORACLE SQL Performance Analyzer

    通过 SPA,您能够依据各种更改类型(如初始化參数更改.优化器统计刷新和数据库升级)播放特定的 SQL 或整个 SQL 负载,然后生成比較报告,帮助您评估它们的影响. 在 Oracle Databas ...

  5. cf448B Suffix Structures

    B. Suffix Structures time limit per test 1 second memory limit per test 256 megabytes input standard ...

  6. Json.Net6.0

    Json.Net6.0入门学习试水篇   前言 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.简单地说,JSON 可以将 JavaScript 对象中表 ...

  7. 修改Windows server 时间同步

    1.关闭“与Internet时间同步”选项. 2.禁用Windows时间服务,并将其设置为手动. 3.禁用Hyper-v时间同步服务,并将其设置为手动,这个在Hyper-v软件上选中要修改的虚拟机,设 ...

  8. CVTE C/C++开发工程师笔试题(二)

    问题描述:打印重复元素 给定一个数组,内容可能包含1到N的整数,N最大为40000,数组可能含有重复的值,且N的取值不定.若只剩余5KB内存可用,请设计函数尽可能快的答应数组中所有重复的元素. voi ...

  9. 转 ObjExporter Unity3d导出场景地图寻路

    http://wiki.unity3d.com/index.php?title=ObjExporter

  10. 2018面向对象程序设计(Java)第16周学习指导及要求

    2018面向对象程序设计(Java)第16周学习指导及要求(2018.12.13-2018.12.16)   学习目标 (1) 掌握线程概念: (2) 掌握线程创建的两种技术: (3) 理解和掌握线程 ...