Git工程開發實踐(七)——GitLab服務搭建

Git工程開發實踐(七)——GitLab服務搭建

操做系統:RHEL 7.3 WorkStationpython

1、GitLab簡介

一、GitLab簡介

 GitLab是一個利用Ruby on Rails開發的開源版本管理系統,是集代碼託管、測試、部署於一體的開源git倉庫管理軟件,可經過web界面來進行訪問公開或私人項目。GitLab可以瀏覽代碼,管理缺陷和註釋,能夠管理團隊對倉庫的訪問,很是易於瀏覽提交過的版本,並提供一個文件歷史庫,是目前很是流行的研發版本控制系統。
Git:本地版本控制系統工具。
Github:全球最大在線代碼託管倉庫,https://github.com
GitLab:支持在線代碼託管,支持私有代碼託管服務器部署。git

二、GitLab的持續集成功能

Gitlab-CI是GitLab Continuous Integration(Gitlab持續集成)的簡稱。
從Gitlab的8.0版本開始,gitlab就全面集成了Gitlab-CI,而且對全部項目默認開啓。
在GitLab 8.0+提供了持續集成的功能,在GitLab中有個Runners的概念。
Runner一共有三種類型
1) 本地Runner
2) 普通的服務器上的Runner
3) 基於Docker的Runner
GitLab原理圖:
Git工程開發實踐(七)——GitLab服務搭建github

三、Gitlab的服務構成

Nginx:靜態web服務器
gitlab-shell:用於處理Git命令和修改authorized keys列表
gitlab-workhorse: 輕量級的反向代理服務器
logrotate:日誌文件管理工具
postgresql:數據庫
redis:緩存數據庫
sidekiq:用於在後臺執行隊列任務(異步執行)
unicorn:An HTTP server for Rack applications,GitLab Rails應用是託管在這個服務器上面的web

四、GitLab經常使用命令

Gitlab命令分爲兩部分:通用命令和服務管理命令
語法:gitlab-ctl 命令參數
通用命令:
命令參數以下:
help:幫助
reconfigure:修改配置文件後,從新加載配置
show-config:查看全部服務配置文件信息
uninstall:卸載軟件
cleanse:刪除gitlab數據,從新白手起家
服務管理命令:
start:啓動全部服務
stop:關閉全部服務
restart:重啓全部服務
status:查看全部服務狀態
tail:查看日誌信息
service-list:列舉全部啓動服務
graceful-kill:平穩中止一個服務redis

2、GitLab安裝配置

一、安裝配置GitLab相關依賴項

安裝依賴項,配置防火牆開放HTTP和SSH服務sql

sudo yum install -y curl policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld

若是要使用Postfix來發送通知郵件,在Postfix安裝期間請選擇'Internet Site'。shell

sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix

也能夠在GitLab安裝成功後,配置一個外部SMTP服務器。數據庫

二、添加GitLab package倉庫

curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash緩存

三、安裝GitLab

sudo yum install gitlab-ce-10.7.3-ce.0.el7.x86_64
須要設置gitlab的域名,也可使用ip地址。
sudo EXTERNAL_URL="http://gitlab.example.com" yum install gitlab-ce 
完成後,修改文件/etc/gitlab/gitlab.rb,設置訪問urlbash

四、GitLab配置

sudo gitlab-ctl reconfigure
初次配置GitLab會很慢,耐心等待。
加載完成後,開始啓動Gitlab,GitLab默認會佔用80、8080和9090端口。
重啓gitlab服務:
sudo gitlab-ctl restart
Git工程開發實踐(七)——GitLab服務搭建
安裝完成後第一次訪問web界面,系統會要求重置root帳戶新密碼。
Git工程開發實踐(七)——GitLab服務搭建
使用root權限登陸服務器並啓動Ruby on Rails 控制檯
gitlab-rails console production

[root@localhost ~]# gitlab-rails console production
Loading production environment (Rails 4.2.8)
irb(main):001:0>
irb(main):001:0> user = User.where(id: 1).first
=> #<User id:1 @root>
irb(main):002:0>user.password = 'secret_pass'
irb(main):002:0>user.password_confirmation = 'secret_pass'
irb(main):002:0>user.save

五、註冊用戶

註冊一個新用戶:
Git工程開發實踐(七)——GitLab服務搭建
設置新註冊用戶的信息:
Git工程開發實踐(七)——GitLab服務搭建
生成SSH公鑰:
ssh-keygen -t rsa -C "user@qq.com" -b 4096
生成的SSH公鑰保存在~/.ssh/id_rsa.pub文件中。
將id_rsa.pub文件中的所有內容拷貝到Key編輯框:
Git工程開發實踐(七)——GitLab服務搭建

六、新建組

Git工程開發實踐(七)——GitLab服務搭建

七、新建工程

Git工程開發實踐(七)——GitLab服務搭建

相關文章
相關標籤/搜索