Skip to content

Gitlab

待办

备份

https://docs.gitlab.com/ee/raketasks/backup_gitlab.html

恢复

https://docs.gitlab.com/ee/raketasks/restore_gitlab.html

升级

https://docs.gitlab.com/ee/update/#installation-using-docker

https://docs.gitlab.com/ee/update/package/

bash
gitlab-rake gitlab:env:info
gitlab-rake gitlab:backup:create
cd /var/opt/gitlab/backups
gitlab-rake gitlab:import_export:version
gitlab-rake gitlab:import_export:data
gitlab-rake gitlab:backup:restore BACKUP=1597188417
gitlab-ctl reconfigure
/etc/gitlab/gitlab.rb

Gitlab

Gitlab简介

官网: https://about.gitlab.com/

GitLab 是一个用于仓库管理系统的开源项目,使用 Git 作为代码管理工具,并在此基础上搭建起来的 web 服务。

GitLab 和 GitHub 一样属于第三方基于 Git 开发的作品,免费且开源(基于 MIT 协议),与 Github 类似,可以注册用户,任意提交你的代码,添加 SSHKey 等等。不同的是,GitLab 是可以部署到自己的服务器上,数据库等一切信息都掌握在自己手上,适合团队内部协作开发,你总不可能把团队内部的智慧总放在别人的服务器上吧?简单来说可把 GitLab 看作个人版的 GitHub。

Gitlab安装

yml
version: '3.9'
services:
  gitlab:
    image: gitlab/gitlab-ce:14.0.5-ce.0
    container_name: gitlab
#    restart: always
    privileged: true
    hostname: gitlab
    environment:
      TZ: 'Asia/Shanghai'
      GITLAB_OMNIBUS_CONFIG: |
        puma['worker_timeout'] = 60
        puma['worker_processes'] = 2
        postgresql['shared_buffers'] = "256MB" # recommend value is 1/4 of total RAM, up to 14GB.
        prometheus_monitoring['enable'] = false
        sidekiq['concurrency'] = 2
    ports:
      - '8089:80'
      - '8443:443'
      - '8022:22'
    volumes:
      - ./config:/etc/gitlab
      - ./data:/var/opt/gitlab
      - ./logs:/var/log/gitlab
    deploy:
      resources:
        limits:
          cpus: '0.60'
          memory: '2g'
#        reservations:
#          cpus: '0.25'
#          memory: '20m'
    shm_size: '256m'

networks:
  default:
    external: true
    name: global

默认root密码

cat /etc/gitlab/initial_root_password

禁用注册功能

Gitlab添加组、创建用户、创建项目

  1. 创建组

    使用管理员 root 创建组,一个组里面可以有多个项目分支,可以将开发添加到组里面进行设置权限, 不同的组就是公司不同的开发项目或者服务模块,不同的组添加不同的开发即可实现对开发设置权限的 管理

  2. 创建用户

    创建用户的时候,可以选择 Regular 或 Admin 类型。 创建完用户后,立即修改密码

  3. 将用户添加到组中

    选择某个用户组,进行 Members 管理组的成员 Gitlab 用户在组里面有 5 种不同权限:

    • Guest

      可以创建issue、发表评论,不能读写版本库

    • Reporter

      可以克隆代码,不能提交,QA、PM可以赋予这个权限

    • Developer

      可以克隆代码、开发、提交、push,普通开发可以赋予这个权限

    • Maintainer

      可以创建项目、添加tag、保护分支、添加项目成员、编辑项目,核心开发可以赋予这个权限

    • Owner

      可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员,开发组组长可以赋予这个权限 Visibility Level、删除项目、迁移项目、管理组成员,开发组组长可以赋予这个权限

  4. 在用户组中创建项目

    以刚才创建的新用户身份登录到 Gitlab,然后在用户组中创建新的项目

源码上传到Gitlab仓库