zoukankan      html  css  js  c++  java
  • Gitlab--安装配置使用

    一、gitlab安装

    1.1、docker化安装gitlab

    #1、拉取镜像
    [root@git ~]# docker pull gitlab/gitlab-ce
    [root@git ~]# docker images
    REPOSITORY                                       TAG                 IMAGE ID            CREATED             SIZE
    gitlab/gitlab-ce                                 latest              229b36075891        3 days ago          1.84GB
    
    #2、创建相关目录
    [root@git ~]# mkdir -p /mnt/gitlab/etc
    [root@git ~]# mkdir -p /mnt/gitlab/log
    [root@git ~]# mkdir -p /mnt/gitlab/data
    
    #3、运行容器
    [root@git ~]# docker run -d  -p 443:443 -p 80:80 -p 222:22 --name gitlab --restart always -v /mnt/gitlab/etc:/etc/gitlab -v /mnt/gitlab/logs:/var/log/gitlab -v /mnt/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
    [root@git ~]# docker ps 
    CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS                                 PORTS                                                           NAMES
    3694c2292ed0        gitlab/gitlab-ce    "/assets/wrapper"   About a minute ago   Up About a minute (health: starting)   0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:222->22/tcp   gitlab
    
    #4、配置gitlab
    [root@git ~]# vim /mnt/gitlab/etc/gitlab.rb
    external_url 'http://192.168.11.10'   # 配置http协议所使用的访问地址,不加端口号默认为80
    #配置ssh协议所使用的访问地址和端口
    gitlab_rails['gitlab_ssh_host'] = '192.168.11.10' 
    gitlab_rails['gitlab_shell_ssh_port'] = 222
    
    #5、重启容器
    [root@git ~]# docker restart gitlab
    gitlab
    
    #6、访问测试

    创建root密码:

    image

    使用root登录:

    image

    image

    在gitlab上添加秘钥:

    image

    image

    创建项目测试:

    image

    image

    1.2、进程式安装gitlab

    1.2.1、相关链接

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

    国内镜像:https://mirrors.tuna.tsinghua.edu.cn/gitlab‐ce/yum/

    官网建议安装步骤:https://about.gitlab.com/install/#centos-7

    1.2.2、安装环境

    1、 CentOS 6或者7

    2、 2G内存(实验)生产(至少4G)(内存给小了会报502)

    3、 禁用防火墙,关闭selinux

    1.2.3、安装步骤

    1)安装依赖包

    [root@git ~]# yum install -y curl policycoreutils-python openssh-server

    2)下载rpm包并安装

    [root@git ~]# mkdir /application && cd /application
    [root@git application]# wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.0.6-ce.0.el7.x86_64.rpm
    [root@git application]# rpm -ivh gitlab-ce-12.0.6-ce.0.el7.x86_64.rpm

    image

    3)配置/etc/gitlab/gitlab.rb文件

    [root@git application]# vim /etc/gitlab/gitlab.rb
    external_url 'http://192.168.11.10'

    4)重新配置gitlab(时间较长)

    [root@git application]# gitlab-ctl reconfigure
    ....
    Chef Client finished, 509/1343 resources updated in 03 minutes 13 seconds
    gitlab Reconfigured!

    5)通过浏览器输入ip地址访问gitlab

    image

    1.2.4、gitlab目录结构

    /opt/gitlab/			#gitlab的安装目录(千万不要删除opt目录)
    /var/opt/gitlab/		#gitlab的数据目录
    /var/opt/gitlab/git-data/	#gitlab的数据仓库目录
    /var/log/gitlab         	#存放所有服务的日志目录
    

    1.2.5、gitlab常用命令

    gitlab-ctl start	#启动gitlab
    gitlab-ctl stop		#停止gitlab
    gitlab-ctl status	#查看gitlab运行状态
    gitlab-ctl stop nginx	#停止某一项服务
    gitlab-ctl tail		#查看所有gitlab服务的日志
    
    [root@git gitlab]# gitlab-ctl status
    run: alertmanager: (pid 54613) 489s; run: log: (pid 54351) 541s
    run: gitaly: (pid 54558) 492s; run: log: (pid 53840) 654s
    run: gitlab-monitor: (pid 54563) 492s; run: log: (pid 54268) 559s
    run: gitlab-workhorse: (pid 54545) 493s; run: log: (pid 54175) 583s
    run: grafana: (pid 54631) 488s; run: log: (pid 54504) 505s
    run: logrotate: (pid 54204) 574s; run: log: (pid 54217) 571s
    run: nginx: (pid 54187) 580s; run: log: (pid 54196) 579s
    run: node-exporter: (pid 54553) 492s; run: log: (pid 54243) 567s
    run: postgres-exporter: (pid 54624) 489s; run: log: (pid 54412) 534s
    run: postgresql: (pid 53963) 639s; run: log: (pid 53980) 638s
    run: prometheus: (pid 54597) 491s; run: log: (pid 54315) 547s
    run: redis: (pid 53804) 661s; run: log: (pid 53815) 659s
    run: redis-exporter: (pid 54579) 491s; run: log: (pid 54284) 553s
    run: sidekiq: (pid 54143) 592s; run: log: (pid 54153) 591s
    run: unicorn: (pid 54113) 598s; run: log: (pid 54134) 596s

    二、gitlab使用

    2.1、appearance设置

    image

    退出重新登录:

    image

    2.2、关闭自动注册

    image

    退出登录:

    image

    2.3、创建组

    image

    image

    image

    2.4、创建用户

    image

    image

    修改密码:

    image

    image

    使用新用户登录:

    image

    image

    image

    2.5、组添加用户

    image

    image

    2.6、创建项目

    image

    image

    image

    2.7、添加sshkey

    image

    在服务器上clone项目并推送代码:

    image

    image

    2.8、保护分支设置

    将dev用户的公钥放置到gitlab上的普通用户上:

    [root@git ~]# useradd dev && echo acb123|passwd --stdin dev
    [root@git ~]# su - dev
    [dev@git ~]$ ssh-keygen -t rsa
    [dev@git ~]$ cat .ssh/id_rsa.pub 
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDkGhc8SHiipYajyo93YxDNvNvmY7aOIcsqLY8lnCAR0A2eWxE8zYTD23w0o2TlxJqagBMs22zmhP+hYZV0YXCyBFyvmcu/dJt9hWQG+a9tVAB1EMdHdWgcAn9bPTFoRX8/sB4iVtK+e5p2IY6xR28uWHFwTbJz1xDv8szkOhl81cNB/AFHLp2Fy9rYtMxoQ+eyrueOwC21megFtiUvb6SrTFN6pcD9CsKzfDTkupto42TQmovCJPVHUSrp9swlusYRaaOcU+jRvhMkYq+m0BkiCo66sepKSPvpVrvRcgfvwK4LpJfXb92uFeYqrGLzcBW8lNRbNk06Dw8TbtGs3NxV dev@git

    image

    注意:这个dev用户的身份为Developer

    image
    普通用户clone代码测试:

    image

    切换到root用户,创建保护分支:

    image

    image

    image

    普通用户推送代码测试:由于创建了保护分支,所以普通用户不能push代码到master分支上

    image

    解决方法:创建dev分支,并将dev分支推送到gitlab上,开发写完代码后先推送到dev分支,然后发起merge请求,请root用户审核通过后,再推送到master分支上

    image

    登录gitlab后,就可以看到dev分支了

    image

    dev用户在dev分支上创建文件,然后推送到dev分支上,登录gitlab上的dev用户查看:

    image

    dev用户发起merge请求:

    image

    image

    image

    登录root用户,查看dev发送过来的merge请求:

    image

    image

    image

    image

  • 相关阅读:
    HDU题目分类
    nyoj50爱摘苹果的小明
    nyoj24大数阶乘
    hduoj1094A+B for InputOutput Practice (VI)
    nyoj198数数
    NYOJ463九九乘法表
    nyoj436sum of all integer numbers
    hduoj1042N!
    hduoj1095A+B for InputOutput Practice (VII)
    nyoj458小光棍数
  • 原文地址:https://www.cnblogs.com/hujinzhong/p/12192283.html
Copyright © 2011-2022 走看看