GitLab是利用 Ruby on Rails 一個開源的版本管理系統,實現一個自托管的Git項目倉庫,可通過Web界面進行訪問公開的或者私人項目。它擁有與Github類似的功能,能夠瀏覽源代碼,管理缺陷和注釋。可以管理團隊對倉庫的訪問,它非常易於瀏覽提交過的版本並提供一個文件歷史庫。團隊成員可以利用內置的簡單聊天程序(Wall)進行交流。它還提供一個代碼片段收集功能可以輕松實現代碼復用,便於日后有需要的時候進行查找。在線DEMO
社區版基於MIT license開源完全免費
無用戶,協作和倉庫限制
保護你的源碼安全
管理倉庫,用戶與訪問權限
更多功能請看這兒
依賴組件:ruby 1.9.3+,MySQL,git,redis, Sidekiq。
最低配置CPU 1G,RAM 1G+swap可以支持100用戶。
安裝
官方有安裝包與腳本下載,官方安裝指南。同樣GITHUB上有個社區非官方的安裝指南。
但這兒里推薦bitnami下載打包安裝版本 https://bitnami.com/stack/gitlab/installer ,省去很多時間。他們也提供相關WIKI
以ubuntu為演示環境,來安裝這個包,切換到root賬戶, 在終端運行:
./bitnami-gitlab-7.1.1-0-linux-x64-installer.run
出現向導,這個時安裝就是傻瓜安裝了
默認同時安裝了GitLab CI, 后然配置Apache的端口,MySQL的端口,注意如果默認端口80, 3306有占用,需要修改。就不截圖 了。
這個包默認會安裝獨立的MySQL,如果需要配置已有Mysql數據庫,那么請手工逐個安裝各個組件。安裝完成后,服務就啟動了。
配置OS自動啟動:
sudo update-rc.d gitlab defaults 21
管理
管理員帳號登錄后,有一個管理區,如下圖:
在這里可以管理用戶,項目,組,日志,消息,Hooks,后台job。 界面清晰,功能明確,在這兒不再詳細描述。
使用
1 . 服務端 啟動Gitlab
root@ubuntu:/opt/gitlab-7.1.1-0# ./ctlscript.sh start
140818 00:31:57 mysqld_safe Logging to '/opt/gitlab-7.1.1-0/mysql/data/mysqld.log'.
140818 00:31:57 mysqld_safe Starting mysqld.bin daemon with databases from /opt/gitlab-7.1.1-0/mysql/data
/opt/gitlab-7.1.1-0/mysql/scripts/ctl.sh : mysql started at port 3307
/opt/gitlab-7.1.1-0/redis/scripts/ctl.sh : redis started at port 6379
/opt/gitlab-7.1.1-0/apps/gitlab/scripts/sidekiq.sh : gitlab_sidekiq started
Session terminated, terminating shell... ...terminated.
/opt/gitlab-7.1.1-0/apps/gitlabci/scripts/sidekiq.sh : gitlabci_sidekiq started
/opt/gitlab-7.1.1-0/apps/gitlabci/scripts/runner.sh : gitlabci_runner started
Syntax OK
/opt/gitlab-7.1.1-0/apache2/scripts/ctl.sh : httpd started at port 81
:/opt/gitlab-7.1.1-0 是Gitlab的安裝目錄
也可以查看GUI管理控制台 ./manager-linux-x64.run
上面列出各個組件狀態。
2 . 創建與Git項目初始化工作
我們的Apache webserver 之間安裝於81端口,從客戶端訪問:
登錄后,可創建三種級別的Projects:
增加項目參加成員:
登錄Gitlab http://10.1.98.251 ,在profile中填寫自己ssh-key,
記事本打開C:\Users\Administrator\.ssh \id_rsa.pub內容,copy到下面Key
對新建Git項目,初始化,第一個commit:
Git global setup(Git全局設置):
git config --global user.name "testman"
git config --global user.email "testman@hotmail.com"
Create Repository(創建倉庫)
mkdir common-util
cd common-util
git init
touch README
git add README
git commit -m 'first commit'
git remote add origin git@127.0.0.1:devteam/common-util.git
git push -u origin master
對於已存在Git項目:
cd existing_git_repo
git remote add origin git@127.0.0.1:devteam/common-util.git
git push -u origin master
進入本地git shell, 生成自己的ssh-key, 聯系三個回車
ssh-keygen -t rsa
登錄Gitlab,在profile中填寫自己ssh-key,
記事本打開C:\Users\Administrator\.ssh \id_rsa.pub內容,copy到下面Key。
3. 使用相關用戶名登錄,可以看到Dashborad:
顯示項目動態:
項目Commit明細:
4. 用Visual Studio 2013做客戶端。
由於之前項目已經建好了,Visual Studio 2013里我們修改文件,點右鍵來Commit
然后在選擇界面中,選擇Commit,填寫這次提交的信息,也可以Commit and push
提交以后,提示Commit cd900236在本地創建,Sync以共享到服務器
然后Sync, 這里點push 到服務端,第一次會提示您輸入密碼:
之后結果是: 成功推送1commit到origin/master分支
然后我們就把代碼提交到Gitlab了,打開頁面進入相關項目,可以看到剛才commit
GitLab CI
使用gitlab管理員賬戶登錄后:
提供了基於持續集成的功能,有於API的訪問。
上文是基於GitLab 7.1.1版本,由於時間變化,以后可能UI會變化。 又由於篇幅有限,今天簡單介紹到這兒。更多可以參考:
MSDN : Using Visual Studio 2013 with Git
您可能感興趣的文章: