Centos8 部署GitLab13


介紹

  • GitLab: 是一個機遇 Git 實現的在線代碼倉庫托管軟件.
  • 基於 Ruby on rails 開發.
  • 集成了很多組件.
  • 社區版本為開源免費版.
  • 有完善的問題和追蹤系統.
  • 8.0版開始,GitLab持續集成(CI)完全集成到GitLab本身,它還具有持續部署和持續交付功能,可用於構建、測試和部署你的應用程序。
  • CD/CI

GitLab 組件

  • Ngixn: 靜態 Web 服務器.
  • gitlab-shell: 用於處理 Git 命令和修改 authorized keys 列表.
  • gitlab-workhorse: 輕量級的反向代理服務器.
  • logrotate: 日志文件管理工具.
  • postgresql: 數據庫.
  • redis: 緩存數據庫.
  • sidekiq: 用於在后台執行任務隊列(一步執行).
  • unicorn: GitLab Rails 是應用在托管在這個服務器上面.

目錄介紹

/var/opt/gitlab/git-data/repositories/   # 默認存儲目錄.
/opt/gitlab/                             # 應用代碼和相應的依賴程序.
/var/opt/gitlab/                         # gitlab-ctl reconfigure 命令編譯后的應用數據和配置文件,不需要人為修改.
/etc/gitlab/                             # 配置文件目錄.
/var/log/gitlab/                         # 此目錄下存放了 gitlab 各個組件生產的日志.
/var/opt/gitlab/backups/                 # 備份文件生成的目錄.

安裝gitlab

    官網安裝介紹: https://about.gitlab.com/install/#centos-8

     清華大學鏡站: https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el8/

    官網源站: https://packages.gitlab.com/gitlab/gitlab-ce

安裝

dnf install policycoreutils-python-utils
[root@node1 ~]# rpm -ivh gitlab-ce-13.2.1-ce.0.el8.x86_64.rpm  

配置

配置訪問的URl
[root@node1 ~]# vim /etc/gitlab/gitlab.rb 
external_url 'http://172.16.0.61'
配置 gitlab
sudo gitlab-ctl reconfigure

查看各組件狀態

[root@node1 ~]# gitlab-ctl status
run: alertmanager: (pid 34082) 93s; run: log: (pid 33702) 290s
run: gitaly: (pid 34052) 98s; run: log: (pid 33179) 491s
run: gitlab-exporter: (pid 34040) 99s; run: log: (pid 33625) 326s
run: gitlab-workhorse: (pid 34027) 99s; run: log: (pid 33518) 370s
run: grafana: (pid 34097) 92s; run: log: (pid 33954) 132s
run: logrotate: (pid 33557) 354s; run: log: (pid 33567) 350s
run: nginx: (pid 33539) 365s; run: log: (pid 33547) 362s
run: node-exporter: (pid 34036) 99s; run: log: (pid 33606) 337s
run: postgres-exporter: (pid 34089) 92s; run: log: (pid 33731) 276s
run: postgresql: (pid 33315) 476s; run: log: (pid 33330) 472s
run: prometheus: (pid 34061) 98s; run: log: (pid 33672) 301s
run: puma: (pid 33461) 389s; run: log: (pid 33468) 388s
run: redis: (pid 33141) 498s; run: log: (pid 33152) 495s
run: redis-exporter: (pid 34045) 98s; run: log: (pid 33650) 312s
run: sidekiq: (pid 33479) 383s; run: log: (pid 33489) 382s

初始化密碼

   訪問:http:gitlab_ip

登錄

漢化

舊版本漢化

1、下載漢化補丁 
git clone https://gitlab.com/xhang/gitlab.git 
2、查看全部分支版本 
git branch ‐a 
3、對比版本、生成補丁包 
git diff remotes/origin/10‐2‐stable remotes/origin/10‐2‐stable‐zh > ../10.2.2‐zh.diff 
4、停止服務器 
gitlab‐ctl stop 
5、打補丁
 patch ‐d /opt/gitlab/embedded/service/gitlab‐rails ‐p1 < /tmp/10.2.2‐zh.diff 
6、啟動和重新配置 gitlab‐ctl start gitlab‐ctl reconfigure

新版本漢化

gitlab-13.2.1 已經支持中文版了

修改路徑: 用戶 - 配置 - 偏好配置 - 語言

gitlab常用命令

gitlab-ctl start      # 啟動全部服務
gitlab-ctl restart    # 重啟全部服務
gitlab-ctl stop       # 停止全部服務

gitlab-ctl reconfigure   # 重置配置文件(一般修改完主配置文件/etc/gitlab/gitlab.rb,需要執行此命令)
gitlab-ctl show-config   # 驗證配置文件
gitlab-ctl uninstall     #刪除gitlab(保留數據)
gitlab-ctl cleanse       # 刪除所有數據,從新開始

gitlab-ctl tail <service name> #查看服務的日志

gitlab管理

  組,用戶.項目的關系:

    組中創建項目,項目中添加用戶.

    如果組中添加用戶用戶就會有這個組中所有項目的權限.

 

組管理

    創建-創建組

 

 

 

 

 

 

用戶管理

    創建: 創建 - 創建用戶 - edit設置密碼 

    用戶加組:  組 - 向組添加用戶 - 設置用戶級別 - 添加用戶

    用戶加項目: 項目 - 角色 - 設置用戶權限 - 訪問到期時間 - 添加用戶

 

 

 

 

 

 設置密碼

    edit - 設置密碼

    用戶登錄需要再次修改密碼

 

 

用戶添加到組

 

 

 

 

項目管理

創建項目

添加用戶

分支保護

   默認 master 只有 master權限才可以合並和push

 

 沒有權限推送:

[root@node3 openstack]# git push origin master 
Enumerating objects: 6, done.
Counting objects: 100% (6/6), done.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (5/5), 427 bytes | 427.00 KiB/s, done.
Total 5 (delta 1), reused 0 (delta 0)
remote: GitLab: You are not allowed to push code to protected branches on this project.
To 172.16.0.61:wbecloud/openstack.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@172.16.0.61:wbecloud/openstack.git'

 merge操作

    開發人員推送代碼到指定的分支,發起merge操作, master 進行merge.

[root@node3 openstack]# git checkout -b dev
Switched to a new branch 'dev'
[root@node3 openstack]# git branch 
* dev
  master
[root@node3 openstack]# git push -u origin dev
Enumerating objects: 6, done.
Counting objects: 100% (6/6), done.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (5/5), 427 bytes | 427.00 KiB/s, done.
Total 5 (delta 1), reused 0 (delta 0)
remote: 
remote: To create a merge request for dev, visit:
remote:   http://172.16.0.61/wbecloud/openstack/-/merge_requests/new?merge_request%5Bsource_branch%5D=dev
remote: 
To 172.16.0.61:wbecloud/openstack.git
 * [new branch]      dev -> dev
Branch 'dev' set up to track remote branch 'dev' from 'origin'.

 

發起合並操作

 

 

 

 

 管理員處理合並請求

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM