1. 项目开发持续集成环境手册

    整理 by addy 2017年10月


持续集成是指开发者在代码的开发过程中,可以频繁的将代码部署集成到主干,并通过自动化测试后部署到预生产环境。

image_1b4gk7hef1v4n6ino701pruj9n97

使用的服务

  • Gitlab:是一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。

    作为源代码托管服务,存放开发人员所有代码。

  • Redmine:是一个开源的、基于web的项目管理和缺陷跟踪工具。它用日历和甘特图辅助项目及进度可视化显示,同时它支持多项目管理。Redmine是一个自由开放源码软件的解决方案,它提供集成的项目管理功能,问题跟踪,并为多个版本控制的选项的支持。

    作为项目管理和bug管理。

  • Jenkins:是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

    用于自动化测试构建发布,与Redmine和Gitlab整合,实现自动化测试、发布、提醒。

  • LDAP:是轻量目录访问协议,以树状的层次结构来存储数据。

    使用LDAP存储用户账号信息,使得各个服务系统能够使用相同账号信息进行访问。

部署结构图

1507883042177

  • Gitlab是整个环境中的核心,为所有开发人员提供Git服务,并进行人员和群组的权限管理。开发人员可自行建立公开或者私属的版本库。
  • Redmine既可以独立使用建立项目进行项目管理,又可以通过web_hook与Gitlab整合,作为指定的版本库的项目管理系统。
  • Jenkins通过插件与Gitlab进行整合,可对版本库Git分支进行自动化的编译、测试和部署。同时其自身采用主从模式,主服务器(Linux环境)负责管理任务,从服务器(windows环境)根据主服务器指令完成代码获取、编译、测试以及部署等一系列操作。
Copyright © addy 2017 all right reserved,powered by Gitbook该文件修订时间: 2017-10-26 07:37:36

results matching ""

    No results matching ""