GITLAB

簡介nginx

  • 基於GIT的源碼託管解決方案
  • 基於Ruby on rails開發
  • 集成nginx postgreSQL redis sidekiq等組件
  • 資源 https://about.gitlab.com/downloads
  • 清華鏡像 https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/

安裝要求git

  • centos7
  • 內存2G以上
  • 版本gitlab-ce-8.9.5

安裝依賴redis

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

開始安裝sql

  • rpm -ivh gitlab-ce-8.9.5-ce.0.el7.x86_64.rpm
  • 修改配置文件 /etc/gitlab/gitlab.rb    (external_url 'http://192.168.1.106',若是是域名請寫域名)
  • gitlab-ctl reconfigure

經常使用命令shell

  • gitlab-ctl status
  • gitlab-ctl start
  • gitlab-ctl stop
  • gitlab-ctl restart
  • gitlab-ctl tail nginx

gitlab組件介紹數據庫

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

Gitlab目錄介紹centos

  • /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-ctl reconfigure                     重置配置文件
  • 二、gitlab-ctl show-config                   驗證配置文件
  • 三、gitlab-ctl restart                           重啓gitlab服務

建立對象服務器

  • 建立gourps
  • 建立用戶
  • 建立項目
  • 受權項目用戶

SSH KEY管理dom

  • 我的SSH KEY
  • Deploy KEY
  • 建立SSH KEY
  • 將公鑰導入用戶SSHKEY
  • 建立deploy key
  • 將deploy key導入gitlab並在項目中容許
  • ssh key文件全局惟一

Case

  • 在gitlab上建立一個庫
  • 用git上傳文件
  • 建立一個分支
  • 在分支上開發
  • 發出merge request
  • Accept merge

Issue

  • 建立milestone
  • 建立issue
  • 建立分支
  • 合併分支
  • Todos
  • Fix #issue_id
  • Close #issue_id
  • git commit -m "close #2"

備份管理

  • 配置文件中加入
  • gitlab_rails['backup_path'] = '/data/backup/gitlab'
  • gitlab_rails['backup_keep_time'] = 604800
  • 若是自定義備份目錄須要賦予git權限
  • mkdir /data/backup/gitlab
  • chown -R git.git /data/backup/gitlab
  • 定時任務Crontab中加入
  • 0 2 * * * /usr/bin/gitlab-rake gitlab:backup:create
  • 策略建議:本地保留三到七天,在異地備份永久保存

恢復管理

  • 中止數據寫入服務
  • gitlab-ctl stop unicorn
  • gitlab-ctl stop sidekiq
  • gitlab-rake gitlab:backup:restore BACKUP=1492296095
  • date -d @1492296095

恢復實例

  • 手工備份
  • /usr/bin/gitlab-rake gitlab:backup:create
  • 記錄系統狀態
  • 系統變動
  • 進行恢復

郵件配置

  • gitlab_rails['time_zone'] = 'Asia/Shanghai'
  • gitlab_rails['gitlab_email_enabled'] = true
  • gitlab_rails['gitlab_email_from'] = 'jokerbj@126.com'
  • gitlab_rails['gitlab_email_display_name'] = 'gitlab'
  • gitlab_rails['smtp_enable'] = true
  • gitlab_rails['smtp_address'] = "smtp.126.com"
  • gitlab_rails['smtp_port'] = 25
  • gitlab_rails['smtp_user_name'] = "jokerbj"
  • gitlab_rails['smtp_password'] = "your_password"
  • gitlab_rails['smtp_domain'] = "126.com"
  • gitlab_rails['smtp_authentication'] = "login"
相關文章
相關標籤/搜索