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"
歡迎關注本站公眾號,獲取更多信息