• 小团队开发管理工具:gitlab+redmine+testlink+jenkins


    由于工作需要,需要为团队搭建一个高效可用的开发管理平台。现在可用的开发管理工具很多开源的、商业的,网上也有很多博客和文章。经过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集成

     
  • 相关阅读:
    phonegap ios插件开发及无限后台运行解决
    iOS JSON解析
    ios上取得设备唯一标志的解决方案
    为iOS7重新设计你的App
    iOS多线程GCD 研究
    自定义用户环境
    启用SELinux保护
    shell编写一个批量添加用户脚本
    shell编写一个判断脚本
    shell使用特殊变量
  • 原文地址:https://www.cnblogs.com/feika/p/4463504.html
Copyright © 2020-2023  润新知