centOS6.5 快速安装部署 gitLab
在程序开发过程中 git 已经成为最受欢迎的代码托管工具,从此工具上衍生出来了大名鼎鼎的开源平台 github . 它给我们代码管理带来方便快捷,但是在 github 上,只有开源的公开项目才可以免费试用,如果公司的私有项目,必须付费购买,而且价格还不低.所以今天这篇文章和大家分享下在 centOS 6.5 环境下,傻瓜式,简洁快速部署安装 gitlab 服务.
什么是gitlab
GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找
安装说明
GitLab 有2个版本 GitLab Community Edition (CE) 及 GitLab Enterprise Edition (EE),CE 是免费版,我们今天安装的就是 CE 版本.
GitLab 官网有提供 CentOS / Debian / Ubuntu 系统的安装套件,今天我们要在 CentOS 6.5 上安装GitLab.
安装准备
我们直接采用官方提供的 rpm 安装方式,GitLab官方地址 你可以通过这个地址找到你对应的安装OS 系统, 直接就能看到对应此系统的安装提示方法.
中途不需安裝 git , ruby 或 web server 了,因為官方提供的有整合了大部分的套件(nginx,ruby & rails , git , redis , postgresql …)
下载 GitLab 并安装
- 下载
curl -O https://downloads-packages.s3.amazonaws.com/centos-6.5/gitlab-7.2.1_omnibus-1.el6.x86_64.rpm
- 下载完成后
yum install openssh-server
sudo yum install postfix
sudo service postfix start
sudo chkconfig postfix on
依次安装上面这几部,然后接着安装
rpm -i gitlab-7.2.1_omnibus-1.el6.x86_64.rpm
修改对外开放域名或ip
vi /etc/gitlab/gitlab.rb
打开后有一行 external_url 的設定改成要對外開放 web 的 url , 例如我可以指定 git.yijiebuyi.com 只想內部使用也可以改成 http://192.168.0.11 这样的内部IP地址.
执行 GitLab
sudo gitlab-ctl reconfigure
sudo lokkit -s http -s ssh
如果运行上面的命令,发现没有安装 lokkit ,那么需要你手动 yum install lokkit lokkit 可以帮助我们设定 iptables 打开 http 和 ssh
通过web访问
刚才上面设置的对外开放域名或者 ip ,这时你在浏览器可以访问了,这样就算正式安装成功了.
初始密码
- 帐号: root
- 密码: 5iveL
初始登录后,会出现重新设置密码的界面,管理界面可以创建群组和邀请成员.
停止GitLab
控制台直接输入 gitlab-ctl stop 即可.
重新启动
控制台直接输入 gitlab-ctl start
GitLab 目录存放
GitLab 默认存放目录到 /var/opt/gitlab 如果要移动,备份此目录,比较保险的做法是,先停止 GitLab,然后备份目录,最后在重启GitLab.
GitLab是一个私有的Git仓库,具有较好的项目管理和用户管理能力。
对于普通用户而言,通过系统的重置密码,接受邮件即可解决,可是GitLab的管理员账号,缺省的邮箱是一个不存在的邮箱地址,所以没有办法通过邮箱来复位。
通过在服务器上,可以修改用户的密码:
官方修改密码:(http://docs.gitlab.com/ce/security/reset_root_password.html)
不过,笔者通过该方法是,发现,不能使用引号来包括密码。
具体方法如下:
1. 在root用户下,执行
gitlab-rails console production
- 1
- 获得用户数据,修改用户密码
[root@svr34 bin]# gitlab-rails console production
Loading production environment (Rails 4.2.5.2)
irb(main):001:0> user = User.where(id: 1).first
=> #<User id: 1, email: "admin@example.com", ...
irb(main):002:0> user.password=12345678
=> 12345678
irb(main):003:0> user.password_confirmation=12345678
=> 12345678
irb(main):004:0> user.save!
=> true
irb(main):005:0> quit
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
注意:密码没有使用引号,奇怪的是使用单引号或双引号,密码就无效,估计是包含了这个字符,不包含,就没有问题。
3. 保存用户数据
user.save!
- 1
注意需要使用后面的感叹号!