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"
欢迎关注本站公众号,获取更多信息