• Centos8 部署GitLab13


    介绍

    • GitLab: 是一个机遇 Git 实现的在线代码仓库托管软件.
    • 基于 Ruby on rails 开发.
    • 集成了很多组件.
    • 社区版本为开源免费版.
    • 有完善的问题和追踪系统.
    • 8.0版开始,GitLab持续集成(CI)完全集成到GitLab本身,它还具有持续部署和持续交付功能,可用于构建、测试和部署你的应用程序。
    • CD/CI

    GitLab 组件

    • Ngixn: 静态 Web 服务器.
    • gitlab-shell: 用于处理 Git 命令和修改 authorized keys 列表.
    • gitlab-workhorse: 轻量级的反向代理服务器.
    • logrotate: 日志文件管理工具.
    • postgresql: 数据库.
    • redis: 缓存数据库.
    • sidekiq: 用于在后台执行任务队列(一步执行).
    • unicorn: GitLab Rails 是应用在托管在这个服务器上面.

    目录介绍

    /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

        官网安装介绍: https://about.gitlab.com/install/#centos-8

         清华大学镜站: https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el8/

        官网源站: https://packages.gitlab.com/gitlab/gitlab-ce

    安装

    dnf install policycoreutils-python-utils
    [root@node1 ~]# rpm -ivh gitlab-ce-13.2.1-ce.0.el8.x86_64.rpm  

    配置

    配置访问的URl
    [root@node1 ~]# vim /etc/gitlab/gitlab.rb 
    external_url 'http://172.16.0.61'
    配置 gitlab
    sudo gitlab-ctl reconfigure

    查看各组件状态

    [root@node1 ~]# gitlab-ctl status
    run: alertmanager: (pid 34082) 93s; run: log: (pid 33702) 290s
    run: gitaly: (pid 34052) 98s; run: log: (pid 33179) 491s
    run: gitlab-exporter: (pid 34040) 99s; run: log: (pid 33625) 326s
    run: gitlab-workhorse: (pid 34027) 99s; run: log: (pid 33518) 370s
    run: grafana: (pid 34097) 92s; run: log: (pid 33954) 132s
    run: logrotate: (pid 33557) 354s; run: log: (pid 33567) 350s
    run: nginx: (pid 33539) 365s; run: log: (pid 33547) 362s
    run: node-exporter: (pid 34036) 99s; run: log: (pid 33606) 337s
    run: postgres-exporter: (pid 34089) 92s; run: log: (pid 33731) 276s
    run: postgresql: (pid 33315) 476s; run: log: (pid 33330) 472s
    run: prometheus: (pid 34061) 98s; run: log: (pid 33672) 301s
    run: puma: (pid 33461) 389s; run: log: (pid 33468) 388s
    run: redis: (pid 33141) 498s; run: log: (pid 33152) 495s
    run: redis-exporter: (pid 34045) 98s; run: log: (pid 33650) 312s
    run: sidekiq: (pid 33479) 383s; run: log: (pid 33489) 382s

    初始化密码

       访问:http:gitlab_ip

    登录

    汉化

    旧版本汉化

    1、下载汉化补丁 
    git clone https://gitlab.com/xhang/gitlab.git 
    2、查看全部分支版本 
    git branch ‐a 
    3、对比版本、生成补丁包 
    git diff remotes/origin/10‐2‐stable remotes/origin/10‐2‐stable‐zh > ../10.2.2‐zh.diff 
    4、停止服务器 
    gitlab‐ctl stop 
    5、打补丁
     patch ‐d /opt/gitlab/embedded/service/gitlab‐rails ‐p1 < /tmp/10.2.2‐zh.diff 
    6、启动和重新配置 gitlab‐ctl start gitlab‐ctl reconfigure

    新版本汉化

    gitlab-13.2.1 已经支持中文版了

    修改路径: 用户 - 配置 - 偏好配置 - 语言

    gitlab常用命令

    gitlab-ctl start      # 启动全部服务
    gitlab-ctl restart    # 重启全部服务
    gitlab-ctl stop       # 停止全部服务
    
    gitlab-ctl reconfigure   # 重置配置文件(一般修改完主配置文件/etc/gitlab/gitlab.rb,需要执行此命令)
    gitlab-ctl show-config   # 验证配置文件
    gitlab-ctl uninstall     #删除gitlab(保留数据)
    gitlab-ctl cleanse       # 删除所有数据,从新开始
    
    gitlab-ctl tail <service name> #查看服务的日志

    gitlab管理

      组,用户.项目的关系:

        组中创建项目,项目中添加用户.

        如果组中添加用户用户就会有这个组中所有项目的权限.

    组管理

        创建-创建组

     

     

    用户管理

        创建: 创建 - 创建用户 - edit设置密码 

        用户加组:  组 - 向组添加用户 - 设置用户级别 - 添加用户

        用户加项目: 项目 - 角色 - 设置用户权限 - 访问到期时间 - 添加用户

     

     

     设置密码

        edit - 设置密码

        用户登录需要再次修改密码

     

    用户添加到组

     

    项目管理

    创建项目

    添加用户

    分支保护

       默认 master 只有 master权限才可以合并和push

     没有权限推送:

    [root@node3 openstack]# git push origin master 
    Enumerating objects: 6, done.
    Counting objects: 100% (6/6), done.
    Compressing objects: 100% (4/4), done.
    Writing objects: 100% (5/5), 427 bytes | 427.00 KiB/s, done.
    Total 5 (delta 1), reused 0 (delta 0)
    remote: GitLab: You are not allowed to push code to protected branches on this project.
    To 172.16.0.61:wbecloud/openstack.git
     ! [remote rejected] master -> master (pre-receive hook declined)
    error: failed to push some refs to 'git@172.16.0.61:wbecloud/openstack.git'

     merge操作

        开发人员推送代码到指定的分支,发起merge操作, master 进行merge.

    [root@node3 openstack]# git checkout -b dev
    Switched to a new branch 'dev'
    [root@node3 openstack]# git branch 
    * dev
      master
    [root@node3 openstack]# git push -u origin dev
    Enumerating objects: 6, done.
    Counting objects: 100% (6/6), done.
    Compressing objects: 100% (4/4), done.
    Writing objects: 100% (5/5), 427 bytes | 427.00 KiB/s, done.
    Total 5 (delta 1), reused 0 (delta 0)
    remote: 
    remote: To create a merge request for dev, visit:
    remote:   http://172.16.0.61/wbecloud/openstack/-/merge_requests/new?merge_request%5Bsource_branch%5D=dev
    remote: 
    To 172.16.0.61:wbecloud/openstack.git
     * [new branch]      dev -> dev
    Branch 'dev' set up to track remote branch 'dev' from 'origin'.

    发起合并操作

     

     管理员处理合并请求

  • 相关阅读:
    Java Swing打猎射击游戏源码
    php实现在线下载程序安装包功能
    WP
    双人对战的球类游戏IOS源码
    非常不错的新闻客户端应用安卓源码
    创业建议:如何写挖人邮件
    wp8路线跟踪应用源码详细说明
    wp版笔记本应用源码
    旅游风景展示应用源码iPad版
    bitset优化背包
  • 原文地址:https://www.cnblogs.com/yanshicheng/p/13378833.html
Copyright © 2020-2023  润新知