公司之前用的是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官方安裝文檔。
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默認安裝後的用戶名:[email protected],密碼:5iveL!fe,用戶第一次登陸後需要修改密碼。
3)gitlab郵件提醒配置,創建賬號,添加SSH KEY的時候都會有郵件提醒給用戶。
修改全局配置文件git/.gitconfig文件,這裡的email是gitlab發送郵件的Email地址。
配置gitlab的發送郵件的SMTP服務,gitlab/config/environments/production.rb。
當管理員給用戶創建賬號時,用戶郵箱裡面會自動收到gitlab發送的郵件。
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
本文出自 “樸實的追夢者” 博客,請務必保留此出處http://sfzhang88.blog.51cto.com/4995876/1323201