Gitlab

作者: 小李飞刀_lql | 来源:发表于2021-11-12 20:19 被阅读0次

    安装docker

    001 上传docker的repo

    cd /etc/yum.repos.d/
    put docker-ce.repo
    

    002 安装docker并启动docker服务

    yum -y install docker-ce
    systemctl enable docker && systemctl start docker
    

    003 配置镜像下载加速器

    vi /etc/docker/daemon.json
    {
    "debug":true,"experimental":true,
    "registry-mirrors":["https://pb5bklzr.mirror.aliyuncs.com","https://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"]
    }
    #配置完后重启
    systemctl enable docker && systemctl start docker
    

    004 删除某个容器

    [root@localhost ~]# docker rm -f fccb33da83a4
    

    005 查看容器日志

    [root@localhost ~]# docker logs fccb33da83a4 -f
    

    安装Gitlab

    001 docker加载相关包

    [root@localhost ~]# docker load -i gitlab.tar 
    ......
    370ece9304e9: Loading layer [==================================================>]  1.781GB/1.781GB
    Loaded image: gitlab/gitlab-ce:latest
    

    002 启动docker

    #创建持久化文件夹
    [root@localhost ~]# mkdir /opt/gitlab
    #设置并查看全局变量
    [root@localhost ~]# GITLAB_HOME=/opt/gitlab
    [root@localhost gitlab]# echo $GITLAB_HOME
    /opt/gitlab
    #启动gitlab服务
    docker run --detach \
    --hostname gitlab.pcitc.com \
    --publish 443:443 --publish 80:80 --publish 2222:22 \
    --name gitlab \
    --restart always \
    --volume $GITLAB_HOME/config:/etc/gitlab \
    --volume $GITLAB_HOME/logs:/var/log/gitlab \
    --volume $GITLAB_HOME/data:/var/opt/gitlab \
    gitlab/gitlab-ce:latest
    

    003 登录gitlab

    root
    12345678(初始化设置)
    

    Gitlab邮件配置

    001 进入容器

    [root@localhost ~]# docker exec -it gitlab bash
    root@gitlab:/# vi /etc/gitlab/gitlab.rb
    
    

    002 修改相关配置文件

    gitlab_rails['time_zone'] = 'Asia/Shanghai'
    gitlab_rails['gitlab_email_from'] = 'lql_h@163.com'
    
    gitlab_rails['smtp_enable'] = true
    gitlab_rails['smtp_address'] = "smtp.163.com"
    gitlab_rails['smtp_port'] = 25
    gitlab_rails['smtp_user_name'] = "lql_h@163.com"
    gitlab_rails['smtp_password'] = "BBTGIGYUNBZNNQEB"
    gitlab_rails['smtp_domain'] = "163.com"
    gitlab_rails['smtp_authentication'] = "login"
    gitlab_rails['smtp_enable_starttls_auto'] = true
    gitlab_rails['smtp_tls'] = false
    
    

    003 重启相关配置

    root@gitlab:/# gitlab-ctl reconfigure
    
    

    004 测试邮件是否配置成功

    gitlab-rails console
    irb(main):001:0> Notify.test_email('lql_h@163.com', 'test Gitlab', 'test Gitlab').deliver_now
    irb(main):002:0> exit
    

    配置https

    001 证书准备

    [root@bogon cfssl]# tar -xzvf cfssl.tar.gz 
    cfssl
    cfssl-certinfo
    cfssljson
    [root@bogon cfssl]# mv cfssl*  /usr/bin
    
    

    002 修改certs.sh的域名并生成证书

    [root@bogon cfssl]# chmod 777 certs.sh 
    [root@bogon cfssl]# ./certs.sh 
    
    

    003 配置文件映射

    --volume $GITLAB_HOME/config:/etc/gitlab 
    --volume $GITLAB_HOME/logs:/var/log/gitlab 
    --volume $GITLAB_HOME/data:/var/opt/gitlab 
    
    

    004 上传证书文件到/etc/gitlab/ssl目录

    [root@bogon config]# cd /opt/gitlab/config
    [root@bogon config]# mkdir ssl
    [root@bogon cfssl]# cp -r gitlab.pcitc.com.pem /opt/gitlab/config
    [root@bogon cfssl]# cp -r gitlab.pcitc.com-key.pem /opt/gitlab/config
    
    

    005 修改配置文件证书

    [root@localhost ~]# docker exec -it gitlab bash
    root@gitlab:/# vi /etc/gitlab/gitlab.rb
    -------------------------------------------------------------------
    external_url 'https://gitlab.pcitc.com' 
    nginx['enable'] = true
    nginx['redirect_http_to_https'] = true 
    nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.pcitc.com.pem"
    nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.pcitc.com-key.pem"
    -------------------------------------------------------------------------
    #重新加载配置:
    gitlab-ctl reconfigure
    

    006 登录验证

    https://gitlab.pcitc.com/
    
    
    1634088926074.png

    创建用户

    001 进入创建用户页面

    管理中心-New user
    
    

    002 编辑用户

    为该用户赋初始化密码
    
    

    003 新用户登录验证

    新用户登录,修改新密码
    用新密码登录
    
    

    创建群组

    001 新建群组

    新建群组test
    
    

    002 新建项目

    该群组下新建项目
    该项目下新建自述文件和html文件
    
    
    1634093484885.png

    003 群组邀请成员

    进入test项目
    添加成员
    赋予权限
    将用户加入群组
    该用户的账号登录后可发现该项目
    
    
    1634094053878.png

    Gitlab使用流程

    001 clone版本库

    #可能出现问题
    fatal: unable to access 'https://gitlab.pcitc.com/test/cs.git/': Issuer certificate is invalid.
    #问题解决
    [root@localhost gitlab]# git config --global http.sslVerify false
    #clone新项目
    [root@localhost gitlab]# git clone https://gitlab.pcitc.com/test/cs.git
    正克隆到 'cs'...
    Username for 'https://gitlab.pcitc.com': lql
    Password for 'https://lql@gitlab.pcitc.com': 
    remote: Enumerating objects: 6, done.
    remote: Counting objects: 100% (6/6), done.
    remote: Compressing objects: 100% (3/3), done.
    remote: Total 6 (delta 0), reused 0 (delta 0), pack-reused 0
    Unpacking objects: 100% (6/6), done.
    
    
    

    002 配置使用者

    [root@localhost cs]# git config --global user.name lql
    [root@localhost cs]# git config --global user.email lql_h@163.com
    [root@localhost cs]# git config --list
    http.sslverify=false
    user.name=lql
    user.email=lql_h@163.com
    ......
    [root@localhost cs]# cat .git/config 
    [remote "origin"]
            url = https://gitlab.pcitc.com/test/cs.git
            fetch = +refs/heads/*:refs/remotes/origin/*
    [branch "master"]
            remote = origin
            merge = refs/heads/master
    #查看分支
    [root@localhost cs]# git branch
    * master          
    
    

    003 新建开发分支

    [root@localhost cs]# git branch dev
    [root@localhost cs]# git branch
      dev
    * master
    [root@localhost cs]# git checkout dev
    切换到分支 'dev'
    [root@localhost cs]# git branch
    * dev
      master
    [root@localhost cs]# vi login.html
    
    
    
    

    004 将本地代码推送到远程服务器

    [root@localhost cs]# git add login.html 
    [root@localhost cs]# git commit -m 'login'
    [dev 95e1e63] login
     1 file changed, 1 insertion(+)
     create mode 100644 login.html
    [root@localhost cs]# git push origin dev
    
    
    1634107915302.png

    Gitlab 备份

    001 数据备份

    [root@localhost ~]# docker exec -it gitlab gitlab-rake gitlab:backup:create
    [root@localhost backups]# pwd
    /opt/gitlab/data/backups
    [root@localhost backups]# ls 
    1634109464_2021_10_13_13.3.5_gitlab_backup.tar
    
    

    002 配置文件备份

    [root@localhost ~]# docker exec -it gitlab gitlab-ctl backup-etc
    [root@localhost config_backup]# pwd
    /opt/gitlab/config/config_backup
    [root@localhost config_backup]# ls
    gitlab_config_1634109543_2021_10_13.tar
    
    

    Gitlab 恢复

    001 准备新环境

    [root@localhost config_backup]# docker stop gitlab
    gitlab
    [root@localhost config_backup]# docker rm -f gitlab
    gitlab
    [root@localhost opt]# mv gitlab gitlabbak
    
    

    002 拷贝数据备份文件

    #宿主机执行
    [root@localhost backups]# cp -r /opt/gitlabbak/data/backups/1634109464_2021_10_13_13.3.5_gitlab_backup.tar /opt/gitlab/data/backups
    
    

    003 为数据备份文件添加备份权限

    [root@localhost backups]# docker exec -it gitlab bash
    root@gitlab:/# chown git.git /var/opt/gitlab/backups/1634109464_2021_10_13_13.3.5_gitlab_backup.tar 
    
    

    004 停写库服务

    root@gitlab:/# gitlab-ctl stop unicorn
    root@gitlab:/# gitlab-ctl stop puma
    ok: down: puma: 0s, normally up
    root@gitlab:/# gitlab-ctl stop sidekiq
    ok: down: sidekiq: 0s, normally up
    
    

    005 执行恢复数据命令

    root@gitlab:/# gitlab-rake gitlab:backup:restore BACKUP=1634109464_2021_10_13_13.3.5 
    
    

    006 恢复配置文件

    #宿主机
    [root@localhost config]# cp /opt/gitlabbak/config/config_backup /opt/gitlab/config/ -rf
    #进入容器
    root@gitlab:/etc# cd /etc/gitlab/config_backup/
    #查看配置文件tar
    root@gitlab:/etc/gitlab/config_backup# ls
    gitlab_config_1634109543_2021_10_13.tar
    #解压缩
    root@gitlab:/etc/gitlab/config_backup# tar xvf gitlab_config_1634109543_2021_10_13.tar
    #进入解压缩路径
    root@gitlab:/etc/gitlab/config_backup/etc/gitlab# pwd
    /etc/gitlab/config_backup/etc/gitlab
    #复制相关文件到容器的配置目录下
    root@gitlab:/etc/gitlab/config_backup/etc/gitlab# cp -r gitlab.rb /etc/gitlab/
    root@gitlab:/etc/gitlab/config_backup/etc/gitlab# cp -r gitlab-secrets.json /etc/gitlab/
    root@gitlab:/etc/gitlab/config_backup/etc/gitlab# cp -r gitlab.pcitc.com.pem /etc/gitlab/
    root@gitlab:/etc/gitlab/config_backup/etc/gitlab# cp -r gitlab.pcitc.com-key.pem /etc/gitlab/
    root@gitlab:/etc/gitlab/config_backup/etc/gitlab# cp ssl /etc/gitlab -rf
    
    
    

    007 重新启动容器

    [root@localhost backups]# docker restart gitlab
    gitlab
    
    

    相关文章

      网友评论

          本文标题:Gitlab

          本文链接:https://www.haomeiwen.com/subject/uriozltx.html