ubuntu12.04搭建Gitlab代码管理平台

来公司实习学习了不少的东西,我们负责维护的平台托管在自己git上,为了以后的需求自己今天尝试搭建Gitlab平台。

GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。

它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

下面开始咱们的搭建过程吧。

Gitlab英文原版 Debian 下安装教程: https://github.com/gitlabhq/gitlabhq/blob/5-3-stable/doc/install/installation.md

ubuntu 与 Debian 还是有点区别的,因为 ubuntu 默认安装了 sudo,python等软件。

一. 软件源安装所需的软件包

更新ubuntu软件源

安装所需的软件包

另外要安装这个关于python的一个扩展包python-pygments,这个扩展包是控制代码在gitlab里显示和扩展的一个包。

二. 安装 ruby 1.9.3

因为ubuntu的官方源里有ruby 1.9.3,所以就不用编译安装了。

*这一步很可能会遇到问题,链接失败什么的,这是因为ruby的软件源被墙了,解决方法请移步:http://ruby.taobao.org/

*如果遇到链接的错误一定要按照上面的链接修改源,否则无法继续的。
三. 创建gitlab用户

修改git用户的密码,执行以下命令后为git用户创建密码。

给git用户添加sudo权限,执行visudo命令

执行上面命令后按照下图添加以下代码

之后按ctrl+x保存后退出。

四. 安装 gitlab-shell

# 登录第三步创建的 git 用户

# 切换到 git 用户的 home 目录

# 克隆 gitlab-shell

# 编辑配置文件 config.ym 并且替换 gitlab_url

# 为主机域名.例如 ‘http://db89.com/’,本地局域网安装的话默认localhost就行.

# 开始安装.

五. 安装数据库

# 软件源安装 mysql 数据库,过程中会让你输入两次 mysql root 用户的密码,牢记!

# 用 root 用户登录 mysql

# 尝试用 gitlab 用户连接 gitlabhq_production 数据库,登录成功(注:出现 mysql>)说明数据库配置完成.

六. 安装 gitlab

# gitlab 要安装到 git 用户的 home 目录下.

# 克隆 gitlab 项目

# 进入 gitlab 目录

# 切换到 gitlab 的 5.3 分支.

# 复制 gitlab 的示例配置文件到指定目录

# 如果用的不是本地服务器,更改 localhost 为 gitlab 的服务器域名

# 确保当前用户对 gitlab 的 log 和 tmp 文件有读写权限.

# 创建目录

# 再创建两个的目录…并且确保 当前用户对他有读写权限.

# 创建公共的上传备份目录,并确保当前用户对其有读写权限.否则备份会失败.

# 复制示例配置文件到制定目录

# 找到其中有一行 # workers 2,去掉前面的 # 并将 2 改为 3.

# 配置 gitlab 的全局设置.

# 复制示例Mysql配置文件到指定目录

# 修改里面的 root 为 gitlab, 密码为创建的 gitlab mysql 用户密码

# 安装gem库里的一个软件

# 下载 gitlab 的 开始/停止 脚本,并且加入当前用户的可执行权限.

# 添加 gitlab 的开机启动

# 检查 gitlab 的状态和环境配置是否正确.

# 再次检查 gitlab 的状态,如果全部绿色,说明 gitlab 配置成功.如果执行一次不行就多执行几次。

*可能会提示git版本有点低,可以忽略的,当然你可以重新编译安装git.
七. 配置 Nginx
# 软件源安装Nginx

# 复制 gitlab 的示例配置到指定目录

# 修改配置文件.更改其中的 YOUR_SERVER_FQDN 为你的 gitlab 服务器全称域名或者本机IP地址,修改 listen 为 *:8080.

*因为默认的站点使用的80端口,你可以删了default文件,然后改为80端口即可

# 重启 nginx 服务器

# 打开浏览器输入本机 IP,用下面的用户密码登录既可.

八.效果展示
进到系统中首先会提示你修改密码之类的。

下面的截图就是我搭建好的环境,当然后续还有许多的东西要做,比如添加ssh-key等等,大家慢慢去熟悉吧。

 


到这,我们的整个搭建过程就结束了.有问题的同学可以留言哈.