由于工作需要,需要为团队搭建一个高效可用的开发管理平台。现在可用的开发管理工具很多开源的、商业的,网上也有很多博客和文章。经过2周的学习比较,再结合自己的项目特点,最后选定工具集:gitlab+redmine+testlink+jenkins。

项目管理和bug跟踪工具:redmine。整个项目组一直使用的管理工具,这次只是做了升级(2.4.0)

代码管理工具:gitlab。原有的代码管理使用的是subversion,这次改用git的原因是需要开发人员支持离线操作。

测试管理工具:testlink。测试管理工具是新加入的,我唯一能找到的原因是开源、免费、可以和redmine集成

持续集成工具:jenkins。持续集成工具是新加入的,因为会多项 目并行,同时采用分布式设计和开发,所以在开发和测试阶段项目部署比较频繁。我们原来都是手动操作发布,相当麻烦、耗时,并且出错率还很高。所以这次使用 了持续集成工具,为什么选用jenkins,只是看到了网上介绍感觉安装简单、操作简单、配置简单。呵呵一切从简嘛

这次工具集的搭建涉及到的工具比较多,所以下面把我所用到的软件包和环境罗列出来,方便大家查找:

环境:

ubuntu server 12.04

ip:192.168.1.18

软件包:

ruby 2.0.0

apache2

php 5.5.6 (必须大于5.4)

redmine 2.4.0

testlink 1.9.9

jenkins ver.1.540

git 1.8.5.rc2 (必须大于1.8)

gitlab 6.2.4

gitlab-shell 1.7.8

以上就是这次搭建平台最终运行所需的软件包,当然这里并不是在安装过程中用到的所有(比如:g++,ruby中的gem等,由于这些只是在安装工程 中使用,对我们最终运行没有太大影响,并且在安装的时候对版本的需求都会有提示,这里没有罗列出来)。建议:redmine里面有很多的插进,可以方便大 家在项目中的使用。

对于一些安装过程,如果没有别的要求和错误,我会直接引用官方安装过程或者其他可用的安装文章。好了,我们开始吧:

一、gitlab安装:

gitlab安装直接参考官方安装文档就可以了https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/installation.md

根据这个文档 ruby 2.0.0 也安装好了

二、jenkins安装:

参考:https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu

 wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -  sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'  sudo apt-get update  sudo apt-get install jenkins

这样安装过后系统会自动加入jenkins服务,使用 sudo /etc/init.d/jenkins [start|stop|restart] 就可以启动停止jenkins了

三、redmine安装:

四、testlink安装:

php5.5.6安装:

apt-get install python-software-properties
sudo add-apt-repository ppa:ondrej/php5
sudo apt-get update
sudo apt-get install php5-cli php5-fpm php-pear php5-mysql libcurl4-openssl-dev
sudo apt-get install php5-dev
sudo pecl install pecl_http

顺带附上将php5.5.6降到php5.3的方法: #安装

ppa-purge apt-get install ppa-purge

#移除源

ppa-purge ppa:ondrej/php5 apt-get update && apt-get upgrade -y && apt-get autoremove -y && apt-get autoclean -y

五、各个平台集成:

各平台集成方案

1、gitlab和jenkins集成

http://hyhx2008.github.io/li-yong-jenkinsgitlabda-jian-chi-xu-ji-cheng-cihuan-jing.html

2、redmine和gitlab集成

这里集成需要注意,redmine在选择git版本库的时候,由于不同用户运行会遇到权限问题,有三种解决方案

a、改已经存在的GIT版本的文件读写权限:改为redmine运行用户可以访问;

b、将GIT版本库以redmine运行用户的身份,创建在redmine安装目录中;

c、把git代码库目录试试同步到redmine可以访问的目录,即为redmine创建一个代码库。这里有两种方案可用

c1、使用git的hooks功能

c2、使用目录同步工具

这里根据我们的情况,我选择 c2 方案,使用工具是rsync+inotify-tools,同时出发redmine自动抓取。脚本如下:

#!/bin/sh
src=/home/git/repositories
des=/home/redmine/repo
/usr/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format  '%T %w%f' \
-e modify,delete,create,attrib \
${src} \
| while read  file
        do
                rsync -ac ${src}/ ${des} &&
                echo "${src} was rsynced"
                echo "---------------------------------------------------------------------------"
                rake -f /home/redmine/redmine-2.4.0/Rakefile RAILS_ENV=production redmine:fetch_changesets
        done

3、redmine和testlink集成

4、redmine和jenkins集成

5、jenkins和testlink集成

 

小团队开发管理工具:gitlab+redmine+testlink+jenkins的更多相关文章

  1. 打造Worktile敏捷开发管理工具的思与惑

    从2019年初,我们团队准备开发一款适合研发团队使用的敏捷开发管理工具,那时候我们也在思考,到底什么样的工具才算是优秀的研发管理工具,研发管理的场景.方法和流派有很多,市面上关于研发管理工具的产品也是 ...

  2. vscode-wechat 小程序开发提示工具 vscode 安装

    vscode 安装 vscode-wechat vscode-wechat 小程序开发提示工具 ---- 有了小程序开发提示,开发很方便 https://segmentfault.com/a/1190 ...

  3. 微信小程序开发——开发者工具中素材管理功能使用的注意事项

    为什么使用“素材管理”: 微信小程序环境中本地资源图片是无法通过 WXSS 获取的,可以使用网络图片,或者 base64,或者使用<image/>标签.. 当然,如果不想这么麻烦,你可能会 ...

  4. 微信小程序开发——开发者工具无法输入中文的处理

    问题模块 框架类型 问题类型 操作系统 工具版本 开发者工具 小程序 Bug Windows v.02.1810290 异常描述: 无法输入中文,偶现,但是概率有点高,重启,重装,更新版本等等都未解决 ...

  5. 微信小程序开发着工具获取和更新newticket

    newticket是微信开发者工具和微信后台交互的凭证.大多数工具的操作都是需要newticket. 如何获取newticket? 打开开发者工具,依次点击菜单设置->通用设置->代理,使 ...

  6. wx 小程序开发---开发者工具使用

    1:右侧详情界面 合法域名 都要在需要在小程序平台 配置合法域名 这样你的小程序请求的网址 才能通. 1.2如果自己的域名没有配置https 可以勾选为 不校验合法域名即可 (小程序官方规定 网址必须 ...

  7. SVN团队开发项目工具(安装以及使用)

    https://pan.baidu.com/s/1jJyo9ue  密码:ce9z

  8. 5款微信小程序开发工具使用报告,微信官方开发工具还有待提升

    微信小程序已经内测有一段时间了,笔者本着好奇加学习的心态写了几个小demo,虽然在MINA框架上并没有遇到太多的坑,但官方开发工具实在不敢恭维. api提示不全,要一个个查api啊,写代码超级慢啊 很 ...

  9. [.net 面向对象程序设计进阶] (22) 团队开发利器(一)简单易用的代码管理工具VSS

    [.net 面向对象程序设计进阶] (22) 团队开发利器(一)简单易用的代码管理工具VSS 本篇要点:在进阶篇快要结束的时候说说源代码管理器,我们的开发,不是一个人可以完成的事,团队协作很重要,而且 ...

随机推荐

  1. Oracle Database 12c 新特性 - Pluggable Database

    在Oracle Database 12c中,可组装式数据库 - Pluggable Database为云计算而生.在12c以前,Oracle数据库是通过Schema来进行用户模式隔离的,现在,可组装式 ...

  2. Android 添加系统服务

    原创文章,转载请注明出处:http://blog.csdn.net/t5721654/article/details/7480696 Android系统本身提供了很多系统服务,如WindowManag ...

  3. Java多线程编程之同步器

    同步器 为每种特定的同步问题提供了解决方案 Semaphore Semaphore[信号标:旗语],通过计数器控制对共享资源的访问. 测试类: package concurrent; import c ...

  4. 用JS查看修改CSS样式(cssText,attribute('style'),currentStyle,getComputedStyle)

    CSS样式定义方法 大家都知道,在为HTML设置样式的时候,通常有三种方法:内联样式,内部样式表,外部样式表. 1.内联样式: 内联样式表就是在HTML元素中的行内直接添加style属性. <d ...

  5. 模板引擎:Velocity&FreeMarker(转)

    Velocity,名称字面翻译为:速度.速率.迅速,用在Web开发里,用过的人可能不多,大都基本知道和在使用Struts,到底Velocity和Struts(Taglib和Tiles)是如何联系?在技 ...

  6. Windows下cmd的替代软件——PowerCmd

    Powercmd 是一款运行在windows下的cmd增强软件(A Better Command Prompt Replacement Tool),当前最新的版本为2.2. 官方提供试用版,貌似没有功 ...

  7. 51单片机或PLC驱动3.5寸至52寸的数字TFTLCD屏、VGA接口显示器、电视机

    http://www.21easyic.com/yx/VGA%E6%8E%A7%E5%88%B6%E6%9D%BF.htm

  8. UIButton上使用UIEdgeInsetsMake让title跟图片对齐

    UIButton上使用UIEdgeInsetsMake让title跟图片对齐 默认情况下,不设置的效果,都使居中现实,button为150*150 使用以下设置后:   [self setTitleE ...

  9. HDU 5768 Lucky7 (中国剩余定理+容斥)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5768 给你n个同余方程组,然后给你l,r,问你l,r中有多少数%7=0且%ai != bi. 比较明显 ...

  10. django控制admin的model显示列表

    class goods(models.Model):    name = models.CharField(max_length=300)    price = models.IntegerField ...