GitLab(Git項目托管軟件)
詳情介紹
GitLab是一款專業(yè)強大的項目管理和代碼托管平臺,能夠瀏覽源代碼,管理缺陷和注釋,可以管理團隊對倉庫的訪問,可瀏覽提交過的歷史版本并提供一個文件歷史庫,具備代碼片段收集功能,可以輕松實現(xiàn)代碼復(fù)用,便于日后有需要的時候進行查找。這里為大家?guī)淼膅itlab是windows版的支持Git的源碼存取服務(wù)的軟件,相當(dāng)于git代碼庫,需要的網(wǎng)友可以下載安裝,它具有可視化,支持后臺管理面板功能,需要的網(wǎng)友不要錯過哦!
與Github類似,GitLab能夠瀏覽源代碼,管理缺陷和注釋??梢怨芾韴F隊對倉庫的訪問,它非常易于瀏覽提交過的版本并提供一個文件歷史庫。團隊成員可以利用內(nèi)置的簡單聊天程序(Wall)進行交流。
它還提供一個代碼片段收集功能可以輕松實現(xiàn)代碼復(fù)用,便于日后有需要的時候進行查找。
本篇教程將教你如何安裝部署及使用GitLab。
Git的家族成員
Git:是一種版本控制系統(tǒng),是一個命令,是一種工具。
Gitlib:是用于實現(xiàn)Git功能的開發(fā)庫。
Github:是一個基于Git實現(xiàn)的在線代碼托管倉庫,包含一個網(wǎng)站界面,向互聯(lián)網(wǎng)開放。
GitLab:是一個基于Git實現(xiàn)的在線代碼倉庫托管軟件,你可以用gitlab自己搭建一個類似于Github一樣的系統(tǒng),一般用于在企業(yè)、學(xué)校等內(nèi)部網(wǎng)絡(luò)搭建git私服。
Gitlab的服務(wù)構(gòu)成
Nginx:靜態(tài)web服務(wù)器。
gitlab-shell:用于處理Git命令和修改authorized keys列表。
gitlab-workhorse: 輕量級的反向代理服務(wù)器。
logrotate:日志文件管理工具。
postgresql:數(shù)據(jù)庫。
redis:緩存數(shù)據(jù)庫。
sidekiq:用于在后臺執(zhí)行隊列任務(wù)(異步執(zhí)行)。
unicorn:An HTTP server for Rack applications,GitLab Rails應(yīng)用是托管在這個服務(wù)器上面的。
GitLab工作流程
1、Canary Deployments(EEP)
引入了新的部署方式 — Canary Deployments。該功能可讓你將新代碼部署到項目的一小部分,如果發(fā)生錯誤,為你提供一個帶來最小影響的恢復(fù)的機會。如果檢測到問題,也可以快速恢復(fù),最小限度降低對用戶的影響。
此外,Kubernetes 已支持 Canary Deployments。對于使用 Auto Deploy 的項目,只需切換到更新的 Auto Deploy 模板,即可在不到一分鐘內(nèi)啟動。
2、服務(wù)臺 Service Desk (EEP)
新的服務(wù)臺(Service Desk)功能使日益增長的用戶群可以通過每個項目的專用地址向團隊發(fā)送電子郵件,以獲得任何反饋或支持。這些在項目中顯示為 GitLab 私密問題。評論他們即可回復(fù)原始電子郵件發(fā)件人,并在GitLab內(nèi)部創(chuàng)建一個全新的集成用戶反饋渠道。
由于服務(wù)臺內(nèi)置在GitLab,因此消除了多種工具和外部集成的復(fù)雜性和低效性,大大縮短了從反饋到軟件更新的周期時間。
3、Burndown Charts(EES)
引入了 Burndown Charts,為您提供團隊發(fā)展反饋。作為一個團隊,現(xiàn)在可以在整個里程碑中顯示和跟蹤問題完成的進度,為你提供不斷改進你的流程的信息。
4、受保護的標(biāo)簽Protected Tags(CE/EE)
使用 Protected Tags 可控制誰能創(chuàng)建或更新標(biāo)簽,使得保護標(biāo)簽更容易。使用類似的方法來保護分支,現(xiàn)在可以輕松地控制任何項目。
2.支持 SSH 以及 HTTP/HTTPS 協(xié)議
3.支持 SMTP、LDAP 和反向代理的用戶認證
4.支持反向代理子路徑
5.支持用戶、組織和倉庫管理系統(tǒng)
6.支持倉庫和組織級別 Web 鉤子(包括 Slack 集成)
7.支持倉庫 Git 鉤子和部署密鑰
8.支持倉庫工單(Issue)、合并請求(Pull Request)以及 Wiki
9.支持添加和刪除倉庫協(xié)作者
10.支持 Gravatar 以及自定義源
11.支持郵件服務(wù)
12.支持后臺管理面板
13.支持 MySQL = 5.5.3、PostgreSQL、SQLite3 和 TiDB(實驗性支持) 數(shù)據(jù)庫
14.支持多語言本地化(14 種語言)
Git是一個開源的分布式版本控制系統(tǒng),用以有效、高速的處理從很小到非常大的項目版本管理。[4]
Git 是 Linus Torvalds 為了幫助管理 Linux 內(nèi)核開發(fā)而開發(fā)的一個開放源碼的版本控制軟件。
Torvalds 開始著手開發(fā) Git 是為了作為一種過渡方案來替代 BitKeeper,后者之前一直是 Linux 內(nèi)核開發(fā)人員在全球使用的主要源代碼工具。開放源碼社區(qū)中的有些人覺得 BitKeeper 的許可證并不適合開放源碼社區(qū)的工作,因此 Torvalds 決定著手研究許可證更為靈活的版本控制系統(tǒng)。盡管最初 Git 的開發(fā)是為了輔助 Linux 內(nèi)核開發(fā)的過程,但是我們已經(jīng)發(fā)現(xiàn)在很多其他自由軟件項目中也使用了 Git。例如 最近就遷移到 Git 上來了,很多 Freedesktop 的項目也遷移到了 Git 上。
Github - 一個網(wǎng)站,提供給用戶空間創(chuàng)建git倉儲,保存用戶的一些數(shù)據(jù)文檔或者代碼等
作為開源代碼庫以及版本控制系統(tǒng),Github目前擁有140多萬開發(fā)者用戶。隨著越來越多的應(yīng)用程序轉(zhuǎn)移到了云上,Github已經(jīng)成為了管理軟件開發(fā)以及發(fā)現(xiàn)已有代碼的首選方法。
如前所述,作為一個分布式的版本控制系統(tǒng),在Git中并不存在主庫這樣的概念,每一份復(fù)制出的庫都可以獨立使用,任何兩個庫之間的不一致之處都可以進行合并。
GitHub可以托管各種git庫,并提供一個web界面,但與其它像 SourceForge或Google Code這樣的服務(wù)不同,GitHub的獨特賣點在于從另外一個項目進行分支的簡易性。為一個項目貢獻代碼非常簡單:首先點擊項目站點的“fork”的按鈕,然后將代碼檢出并將修改加入到剛才分出的代碼庫中,最后通過內(nèi)建的“pull request”機制向項目負責(zé)人申請代碼合并。已經(jīng)有人將GitHub稱為代碼玩家的MySpace。
GitLab - 基于Git的項目管理軟件
GitLab 是一個用于倉庫管理系統(tǒng)的開源項目。使用Git作為代碼管理工具,并在此基礎(chǔ)上搭建起來的web服務(wù)。
三者都是基于git的,可以說是git的衍生品。
vim /etc/yum.repos.d/gitlab-ce.repo
復(fù)制以下內(nèi)容:
[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6
Repo_gpgcheck=0
Enabled=1
Gpgkey=https://packges.gitlab.com/gpg.key
2、更新本地yum緩存
sudo yum makecache
3、安裝GitLab社區(qū)版
sudo yum intall gitlab-ce #自動安裝最新版
sudo yum install gitlab-ce-x.x.x #安裝指定版本
4、GitLab常用命令
sudo gitlab-ctl start # 啟動所有 gitlab 組件;
sudo gitlab-ctl stop # 停止所有 gitlab 組件;
sudo gitlab-ctl restart # 重啟所有 gitlab 組件;
sudo gitlab-ctl status # 查看服務(wù)狀態(tài);
sudo gitlab-ctl reconfigure # 啟動服務(wù);
sudo vim /etc/gitlab/gitlab.rb # 修改默認的配置文件;
gitlab-rake gitlab:check SANITIZE=true --trace # 檢查gitlab;
sudo gitlab-ctl tail # 查看日志;
1、在瀏覽器的地址欄中輸入ECS服務(wù)器的公網(wǎng)IP即可登錄GitLab的界面,第一次登錄使用的用戶名和密碼為 root 和 5iveL!fe。
2、首次登錄會強制用戶修改密碼。密碼修改成功后,輸入新密碼進行登錄。
創(chuàng)建Project
1、安裝Git工具linux:安裝Git,使用自帶的源安裝。
yum install git
2、生成密鑰文件:使用ssh-keygen生成密鑰文件.ssh/id_rsa.pub。
3.在GitLab的主頁中新建一個Project
4.添加ssh key導(dǎo)入步驟2中生成的密鑰文件內(nèi)容:
ssh key添加完成:
項目地址,該地址在進行clone操作時需要用到:
簡單配置
1、配置使用Git倉庫的人員姓名(以上海駐云為例)
git config --global user.name "上海駐云"
2、配置使用Git倉庫的人員email,填寫自己的公司郵箱
git config --global user.email "support@jiagouyun.com"
3、克隆項目,在本地生成同名目錄,并且目錄中會有所有的項目文件
git clone git@iZbp1h7fx16gkr9u4gk8v3Z:root/test.git
cd test/
2、創(chuàng)建需要上傳到GitLab中的目標(biāo)文件
echo “test” > /root/test.sh
3、將目標(biāo)文件或者目錄拷貝到項目目錄下
cp /root/test.sh ./
4、將test.sh文件加入到索引中
git add test.sh
5、將test.sh提交到本地倉庫
git commit -m “test.sh”
6、將文件同步到GitLab服務(wù)器上
git push -u origin master
7、在網(wǎng)頁中查看上傳的test.sh文件已經(jīng)同步到GitLab中
基本介紹
GitLab是利用Ruby on Rails一個開源的版本管理系統(tǒng),實現(xiàn)一個自托管的Git項目倉庫,可通過Web界面進行訪問公開的或者私人項目。與Github類似,GitLab能夠瀏覽源代碼,管理缺陷和注釋??梢怨芾韴F隊對倉庫的訪問,它非常易于瀏覽提交過的版本并提供一個文件歷史庫。團隊成員可以利用內(nèi)置的簡單聊天程序(Wall)進行交流。
它還提供一個代碼片段收集功能可以輕松實現(xiàn)代碼復(fù)用,便于日后有需要的時候進行查找。
本篇教程將教你如何安裝部署及使用GitLab。
Git的家族成員
Git:是一種版本控制系統(tǒng),是一個命令,是一種工具。
Gitlib:是用于實現(xiàn)Git功能的開發(fā)庫。
Github:是一個基于Git實現(xiàn)的在線代碼托管倉庫,包含一個網(wǎng)站界面,向互聯(lián)網(wǎng)開放。
GitLab:是一個基于Git實現(xiàn)的在線代碼倉庫托管軟件,你可以用gitlab自己搭建一個類似于Github一樣的系統(tǒng),一般用于在企業(yè)、學(xué)校等內(nèi)部網(wǎng)絡(luò)搭建git私服。
Gitlab的服務(wù)構(gòu)成
Nginx:靜態(tài)web服務(wù)器。
gitlab-shell:用于處理Git命令和修改authorized keys列表。
gitlab-workhorse: 輕量級的反向代理服務(wù)器。
logrotate:日志文件管理工具。
postgresql:數(shù)據(jù)庫。
redis:緩存數(shù)據(jù)庫。
sidekiq:用于在后臺執(zhí)行隊列任務(wù)(異步執(zhí)行)。
unicorn:An HTTP server for Rack applications,GitLab Rails應(yīng)用是托管在這個服務(wù)器上面的。
GitLab工作流程
軟件功能
GitLab是一個利用Ruby on Rails開發(fā)的開源應(yīng)用程序,擁有與Github類似的功能,實現(xiàn)一個自托管的Git項目倉庫,可通過Web界面進行訪問公開的或者私人項目。GitLab 5.0以前版本要求服務(wù)器端采用 Gitolite 搭建,5.0版本以后不再使用 Gitolite ,采用自己開發(fā)的 gitlab-shell 來實現(xiàn)。如果你覺得安裝麻煩可以使用 GitLab Installers 一鍵安裝程序。1、Canary Deployments(EEP)
引入了新的部署方式 — Canary Deployments。該功能可讓你將新代碼部署到項目的一小部分,如果發(fā)生錯誤,為你提供一個帶來最小影響的恢復(fù)的機會。如果檢測到問題,也可以快速恢復(fù),最小限度降低對用戶的影響。
此外,Kubernetes 已支持 Canary Deployments。對于使用 Auto Deploy 的項目,只需切換到更新的 Auto Deploy 模板,即可在不到一分鐘內(nèi)啟動。
2、服務(wù)臺 Service Desk (EEP)
新的服務(wù)臺(Service Desk)功能使日益增長的用戶群可以通過每個項目的專用地址向團隊發(fā)送電子郵件,以獲得任何反饋或支持。這些在項目中顯示為 GitLab 私密問題。評論他們即可回復(fù)原始電子郵件發(fā)件人,并在GitLab內(nèi)部創(chuàng)建一個全新的集成用戶反饋渠道。
由于服務(wù)臺內(nèi)置在GitLab,因此消除了多種工具和外部集成的復(fù)雜性和低效性,大大縮短了從反饋到軟件更新的周期時間。
3、Burndown Charts(EES)
引入了 Burndown Charts,為您提供團隊發(fā)展反饋。作為一個團隊,現(xiàn)在可以在整個里程碑中顯示和跟蹤問題完成的進度,為你提供不斷改進你的流程的信息。
4、受保護的標(biāo)簽Protected Tags(CE/EE)
使用 Protected Tags 可控制誰能創(chuàng)建或更新標(biāo)簽,使得保護標(biāo)簽更容易。使用類似的方法來保護分支,現(xiàn)在可以輕松地控制任何項目。
軟件特色
1.支持活動時間線2.支持 SSH 以及 HTTP/HTTPS 協(xié)議
3.支持 SMTP、LDAP 和反向代理的用戶認證
4.支持反向代理子路徑
5.支持用戶、組織和倉庫管理系統(tǒng)
6.支持倉庫和組織級別 Web 鉤子(包括 Slack 集成)
7.支持倉庫 Git 鉤子和部署密鑰
8.支持倉庫工單(Issue)、合并請求(Pull Request)以及 Wiki
9.支持添加和刪除倉庫協(xié)作者
10.支持 Gravatar 以及自定義源
11.支持郵件服務(wù)
12.支持后臺管理面板
13.支持 MySQL = 5.5.3、PostgreSQL、SQLite3 和 TiDB(實驗性支持) 數(shù)據(jù)庫
14.支持多語言本地化(14 種語言)
和github的區(qū)別
Git - 版本控制工具Git是一個開源的分布式版本控制系統(tǒng),用以有效、高速的處理從很小到非常大的項目版本管理。[4]
Git 是 Linus Torvalds 為了幫助管理 Linux 內(nèi)核開發(fā)而開發(fā)的一個開放源碼的版本控制軟件。
Torvalds 開始著手開發(fā) Git 是為了作為一種過渡方案來替代 BitKeeper,后者之前一直是 Linux 內(nèi)核開發(fā)人員在全球使用的主要源代碼工具。開放源碼社區(qū)中的有些人覺得 BitKeeper 的許可證并不適合開放源碼社區(qū)的工作,因此 Torvalds 決定著手研究許可證更為靈活的版本控制系統(tǒng)。盡管最初 Git 的開發(fā)是為了輔助 Linux 內(nèi)核開發(fā)的過程,但是我們已經(jīng)發(fā)現(xiàn)在很多其他自由軟件項目中也使用了 Git。例如 最近就遷移到 Git 上來了,很多 Freedesktop 的項目也遷移到了 Git 上。
Github - 一個網(wǎng)站,提供給用戶空間創(chuàng)建git倉儲,保存用戶的一些數(shù)據(jù)文檔或者代碼等
作為開源代碼庫以及版本控制系統(tǒng),Github目前擁有140多萬開發(fā)者用戶。隨著越來越多的應(yīng)用程序轉(zhuǎn)移到了云上,Github已經(jīng)成為了管理軟件開發(fā)以及發(fā)現(xiàn)已有代碼的首選方法。
如前所述,作為一個分布式的版本控制系統(tǒng),在Git中并不存在主庫這樣的概念,每一份復(fù)制出的庫都可以獨立使用,任何兩個庫之間的不一致之處都可以進行合并。
GitHub可以托管各種git庫,并提供一個web界面,但與其它像 SourceForge或Google Code這樣的服務(wù)不同,GitHub的獨特賣點在于從另外一個項目進行分支的簡易性。為一個項目貢獻代碼非常簡單:首先點擊項目站點的“fork”的按鈕,然后將代碼檢出并將修改加入到剛才分出的代碼庫中,最后通過內(nèi)建的“pull request”機制向項目負責(zé)人申請代碼合并。已經(jīng)有人將GitHub稱為代碼玩家的MySpace。
GitLab - 基于Git的項目管理軟件
GitLab 是一個用于倉庫管理系統(tǒng)的開源項目。使用Git作為代碼管理工具,并在此基礎(chǔ)上搭建起來的web服務(wù)。
三者都是基于git的,可以說是git的衍生品。
手動Gitlab環(huán)境部署
1、配置yum源vim /etc/yum.repos.d/gitlab-ce.repo
復(fù)制以下內(nèi)容:
[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6
Repo_gpgcheck=0
Enabled=1
Gpgkey=https://packges.gitlab.com/gpg.key
2、更新本地yum緩存
sudo yum makecache
3、安裝GitLab社區(qū)版
sudo yum intall gitlab-ce #自動安裝最新版
sudo yum install gitlab-ce-x.x.x #安裝指定版本
4、GitLab常用命令
sudo gitlab-ctl start # 啟動所有 gitlab 組件;
sudo gitlab-ctl stop # 停止所有 gitlab 組件;
sudo gitlab-ctl restart # 重啟所有 gitlab 組件;
sudo gitlab-ctl status # 查看服務(wù)狀態(tài);
sudo gitlab-ctl reconfigure # 啟動服務(wù);
sudo vim /etc/gitlab/gitlab.rb # 修改默認的配置文件;
gitlab-rake gitlab:check SANITIZE=true --trace # 檢查gitlab;
sudo gitlab-ctl tail # 查看日志;
使用教程
登錄GitLab1、在瀏覽器的地址欄中輸入ECS服務(wù)器的公網(wǎng)IP即可登錄GitLab的界面,第一次登錄使用的用戶名和密碼為 root 和 5iveL!fe。
2、首次登錄會強制用戶修改密碼。密碼修改成功后,輸入新密碼進行登錄。
創(chuàng)建Project
1、安裝Git工具linux:安裝Git,使用自帶的源安裝。
yum install git
2、生成密鑰文件:使用ssh-keygen生成密鑰文件.ssh/id_rsa.pub。
3.在GitLab的主頁中新建一個Project
4.添加ssh key導(dǎo)入步驟2中生成的密鑰文件內(nèi)容:
ssh key添加完成:
項目地址,該地址在進行clone操作時需要用到:
簡單配置
1、配置使用Git倉庫的人員姓名(以上海駐云為例)
git config --global user.name "上海駐云"
2、配置使用Git倉庫的人員email,填寫自己的公司郵箱
git config --global user.email "support@jiagouyun.com"
3、克隆項目,在本地生成同名目錄,并且目錄中會有所有的項目文件
git clone git@iZbp1h7fx16gkr9u4gk8v3Z:root/test.git
上傳文件
1、進入到項目目錄cd test/
2、創(chuàng)建需要上傳到GitLab中的目標(biāo)文件
echo “test” > /root/test.sh
3、將目標(biāo)文件或者目錄拷貝到項目目錄下
cp /root/test.sh ./
4、將test.sh文件加入到索引中
git add test.sh
5、將test.sh提交到本地倉庫
git commit -m “test.sh”
6、將文件同步到GitLab服務(wù)器上
git push -u origin master
7、在網(wǎng)頁中查看上傳的test.sh文件已經(jīng)同步到GitLab中
下載地址
- 電腦版
GitLab(Git項目托管軟件) v9.3.1官方版
- 本地下載通道:
- 浙江電信下載
- 北京聯(lián)通下載
- 江蘇電信下載
- 廣東電信下載
同類軟件
網(wǎng)友評論
共0條評論(您的評論需要經(jīng)過審核才能顯示)