• GITLAB


    简介

    • 基于GIT的源码托管解决方案
    • 基于Ruby on rails开发
    • 集成nginx postgreSQL redis sidekiq等组件
    • 资源 https://about.gitlab.com/downloads
    • 清华镜像 https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/

    安装要求

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

    安装依赖

    • 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

    开始安装

    • 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

    常用命令

    • 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目录介绍

    • /var/opt/gitlab/git-data/repositories/:库默认存储目录,代码库关系都有,建议用自带的命令备份,见下面说明
    • /opt/gitlab:应用代码和相应的依赖程序
    • /var/opt/gitlab:gitlab-ctl reconfigure命令编译后的应用数据和配置文件,不需要人为修改配置
    • /etc/gitlab:配置文件目录
    • /var/log/gitlab:此目录下存放了gitlab各个组件产生的日志
    • /var/opt/gitlab/backups/:备份文件生成的目录,只有代码,没有库关系

    变更主配置文件

    • 1、gitlab-ctl reconfigure                     重置配置文件
    • 2、gitlab-ctl show-config                   验证配置文件
    • 3、gitlab-ctl restart                           重启gitlab服务

    创建对象

    • 创建gourps
    • 创建用户
    • 创建项目
    • 授权项目用户

    SSH KEY管理

    • 个人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"

    优化内存

    • /etc/gitlab/gitlab.rb
    • unicorn['worker_processes'] = 4 一般是核心数就行了。官网建议+1  
  • 相关阅读:
    SQL Server 数据库镜像
    SQL Server跨服务器查询
    doi
    通过Http接口及SolrNet 两种方法基于Solr5.5.1 实现CURD
    调整SQLServer最大服务器内存参数后实例停止且无法启动
    在windows server 2012/2016上,任务管理器性能页面增加磁盘监控的办法
    Windows Server 2016 启用完整版任务管理器
    solr如何让全词匹配结果在最前面
    C#的两种类据类型:值类型和引用类型
    Web of Science API
  • 原文地址:https://www.cnblogs.com/jokerbj/p/10273801.html
Copyright © 2020-2023  润新知