GitLab版本管理

weixin_30488085發表於2020-04-06

      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

出現嚮導,這個時安裝就是傻瓜安裝了

gitlab2

預設同時安裝了GitLab CI, 後然配置Apache的埠,MySQL的埠,注意如果預設埠80, 3306有佔用,需要修改。就不截圖 了。 
這個包預設會安裝獨立的MySQL,如果需要配置已有Mysql資料庫,那麼請手工逐個安裝各個元件。安裝完成後,服務就啟動了。

配置OS自動啟動:

sudo update-rc.d gitlab defaults 21

管理

管理員帳號登入後,有一個管理區,如下圖:

gitlabadmin1

在這裡可以管理使用者,專案,組,日誌,訊息,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

clip_image001

上面列出各個元件狀態。

2 . 建立與Git專案初始化工作

我們的Apache webserver 之間安裝於81埠,從客戶端訪問:

http://192.168.169.129:81/

clip_image002

登入後,可建立三種級別的Projects:

gitlabadmin3

增加專案參加成員:

gitlabadmin4

登入Gitlab http://10.1.98.251 ,在profile中填寫自己ssh-key,

記事本開啟C:\Users\Administrator\.ssh \id_rsa.pub內容,copy到下面Key

clip_image002[6]

 

對新建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。

clip_image002

 

3. 使用相關使用者名稱登入,可以看到Dashborad:

clip_image003

   顯示專案動態:

gitlabadmin2

專案Commit明細:

gitlabadmin5

4. 用Visual Studio 2013做客戶端。

由於之前專案已經建好了,Visual Studio 2013裡我們修改檔案,點右鍵來Commit

clip_image004

然後在選擇介面中,選擇Commit,填寫這次提交的資訊,也可以Commit and push

clip_image005

提交以後,提示Commit cd900236在本地建立,Sync以共享到伺服器

clip_image006

然後Sync, 這裡點push 到服務端,第一次會提示您輸入密碼:

clip_image007

之後結果是: 成功推送1commit到origin/master分支

clip_image008

然後我們就把程式碼提交到Gitlab了,開啟頁面進入相關專案,可以看到剛才commit

clip_image009

GitLab CI

使用gitlab管理員賬戶登入後:

gitlabci

提供了基於持續整合的功能,有於API的訪問


上文是基於GitLab 7.1.1版本,由於時間變化,以後可能UI會變化。 又由於篇幅有限,今天簡單介紹到這兒。更多可以參考:

GitLab Team blog

MSDN : Using Visual Studio 2013 with Git

您可能感興趣的文章:

CoinPunk專案介紹

智慧移動導遊解決方案簡介

轉載於:https://www.cnblogs.com/HuiLove/p/5022115.html

相關文章