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
您可能感興趣的文章: