公司之前用的是SVN进行项目管理,由于SVN的代码库是集中管理的,不支持离线更新,后来把SVN迁移到git上面,git采用的是分布式的体系机构,用户完全可以脱离git服务器而在本地查看,编写和提交代码。后来由于git没有web页面,所有的操作都是在后台操作,相比之下,gitlab更是一款高端洋气上档次的git项目管理软件,用户可以通过WEB页面添加,删除项目|用户|SSHKEY等等,而且可以通过浏览器查看,修改源代码。
Gitlab简介:Gitlab是一个用Ruby on Rails开发的开源项目管理程序,可以通过WEB界面进行访问公开的或者私人项目。它和Github有类似的功能,能够浏览源代码,管理缺陷和注释。gitlab官方文档支持Debian/Ubuntu系统,我的gitlab服务器是ubuntu-12.04.2,具体的安装请查看gitlab官方安装文档。
参考:在 Ubuntu 12.04 上安装 GitLab http://www.linuxidc.com/Linux/2012-12/75249.htm
1)在mysql上面创建gitlabhq_production数据库并授权。
#创建gitlabhq_production数据库并授权
CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE
`utf8_unicode_ci`;
GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON
`gitlabhq_production`.* TO ‘gitlab’@’192.168.1.230’ identified by ‘gitlab!@#’;
#修改gitlab数据库配置文件
cd gitlab
sudo -u git cp config/database.yml.mysql config/database.yml
sudo cat config/database.yml
production:
adapter: mysql2
encoding: utf8
reconnect: false
database: gitlabhq_production
pool: 10
username: gitlab
password: “gitlab!@#”
host: 192.168.1.243
#初始化gitlab数据库
sudo -u git -H chmod o-rwx config/database.yml
sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production
2)gitlab默认安装后的用户名:admin@local.host,密码:5iveL!fe,用户第一次登陆后需要修改密码。
3)gitlab邮件提醒配置,创建账号,添加SSH KEY的时候都会有邮件提醒给用户。
修改全局配置文件git/.gitconfig文件,这里的email是gitlab发送邮件的Email地址。
配置gitlab的发送邮件的SMTP服务,gitlab/config/environments/production.rb。
当管理员给用户创建账号时,用户邮箱里面会自动收到gitlab发送的邮件。
更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2013-11/92686p2.htm
GitLab 的详细介绍:请点这里
GitLab 的下载地址:请点这里
相关阅读:
GitLab 5.3 升级注意事项 http://www.linuxidc.com/Linux/2013-06/86473.htm
在 CentOS 上部署 GitLab (自托管的Git项目仓库) http://www.linuxidc.com/Linux/2013-06/85754.htm
4)gitlab URL配置。
#复制gitlab的配置文件
sudo cp gitlab/lib/support/nginx/gitlab /etc/nginx/sites-available/gitlab
sudo ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/gitlab
#编辑配置文件/etc/nginx/sites-enabled/gitlab
server {
listen *:80 default_server;
server_name 主机名;
5)修改git repositories存储路径,默认保存在/home/git/repositories路径下面。
cat gitlab-shell/config.yml
# Repositories path
# REPOS_PATH MUST NOT BE A SYMLINK!!!
repos_path: “/data/gitlab/repositories”
6)用户登录成功后,在Profile里面设置账号,修改密码,设置邮件提醒(Notifications),添加SSH Kyes,设置用户浏览时的效果(Design)等。
7)创建git项目,相当于git里面的git init –bare命令。项目类型为Public,即任何人都可以查看。
8)项目创建完毕后,可以通过下面的方法设置,创建和提交代码到项目库。
9)通过soucetree把git里面的代码push到gitlab里面,首先在sourcetree Settings添加gitlab remote origin地址。
10)通过Sourcetree把项目push到远端的gitlab remote origin 。
11)gitlabWEB页面测试,由于sfzhang.git是public,用户不用登陆就可以浏览。
总结:
1)gitlab搭建完毕后,用git clone 的时候出现下面错误(This error occurs when sending data over HTTP which is larger than Git’s post buffer (by default 1 MB),在nginx配置文件http下面添加client_max_body_size 500m;即可。
POST git-receive-pack (chunked)
error: RPC failed; result=22, HTTP code = 411
fatal: The remote end hung up unexpectedly
更多Ubuntu相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2