美文网首页
学习GITLAB知识

学习GITLAB知识

作者: 人生这点事儿 | 来源:发表于2019-11-15 11:14 被阅读0次

    官网地址:https://about.gitlab.com/downloads

    清华镜像:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/

    安装ruby

         下载ruby2.1.9

                 wget https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz

           安装ruby软件

                 tar zxvf ruby-2.1.9.tar.gz

                 cd ruby-2.1.9

                 ./configure

                make && make install

           查看版本

                  ruby -v

    安装gitlib步骤

          下载 gitlab地址

                 curl -O https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-9.4.1-ce.0.el7.x86_64.rpm

          先安装依赖包

            yum install curl policycoreutils openssh-server openssh-clients

            systemctl enable sshd

            systemctl start sshd

            yum install postfix

            systemctl enable postfix

            systemctl start postfix

            firewall-cmd --permanent --add-service=http

            systemctl reload firewalld

          再安装程序包

              rpm -ivh gitlab-ce-9.4.1-ce.0.el7.x86_64.rpm

         修改配置文件

             vim  /etc/gitlab/gitlab.rb

             external_url 'http://172.16.88.22' #配置自己主机IP

             gitlab-ctl reconfigure  #重载gitlab配置文件

            gitlab-ctl status

         访问地址

           http://172.16.88.22   用户名:root 密码:gaogao123

         常用命令

            gitlab-ctl start/restart/stop/status

           gitlab-ctl tail nginx

    Gitlab组件

             nginx:静态Web服务器

             gitlab-shell:用于处理Git命令和修改authorized keys列表

             gitlab-workhorse:轻量级的反向代理服务器

             logrotate:日志文件管理工具

             postgresql:数据库

             redis:缓存数据库

             sidekiq:用于在后台执行队列任务(异步执行)

              unicorn:GitLab Rails应用是托管在这个服务器上面的。

    常用命令

            /var/opt/gitlab/git-data/repositories/root:库默认存储目录

           /opt/gitlab: 应用代码和相应的依赖程序

          /var/opt/gitlab:gitlab-ctl reconfigure命令编译后的应用数据和配置文件,不需要人为修改配置

         /etc/gitlab: 配置文件目录

        /var/log/gitlab:此目录下存放了gitlab各个组件产生的日志

        /var/opt/gitlab/backups/:备份文件生成的目录

    测试地址:http://172.16.88.22/admin

    创建对象

           创建gourps  ->组名:java

           创建用户并设置密码  ->超级管理员:Administrator  项目经理:pm<权限为master> 开发者:dev1/dev2 <权限为Developer> a12345678

           创建项目  ->项目名:devops

           授权项目用户 ->赋予开发者权限

    SSH KEY管理

           个人SSH KEY->Deploy KEY 只能下载代码,不能上传代码

           创建SSH KEY ->ssh-keygen 一路回车即可

                   linux /root/.ssh/id_rsa.pub

           先安装Git-x.x.x-32-bit_setup.1457942412.exe  -> Windows C:\Users\Administrator\id_rsa.pub

           将公钥导入用户SSHKEY

           右上角一个圆圈(Settings)——>SSH Keys->Add an SSH key -> add key即可

          开发者计划(项目经理pm)

                 devops  需求 开发者  完成日期

                  v1.0    首页  dev1  2019年11月25日

                  v1.0    铁路  dev1  2019年11月25日

                  v1.0    地图  dev2  2019年11月25日

                  v1.0    关于  dev2  2019年11月25日

    Issue管理 (项目经理pm)

            第一步:创建milestone里程碑->New Milestone->java/devops-title(官网V1.0)

            第二步:创建issue->Assignee[dev1/dev2]->引用milestone里程碑

      创建分支

            git checkout -b shouye

            echo "<h1>This is the First Page!</h1>" > index.html

            git add .

            git commit -m 'index'

           git push origin index

        登录dev1->projects->Repository->Branches->Merge Requset->Assignee(pm)[Milestone(官网V1.0)]->submit merge request

     合并分支

        Todos ->dev1->Merge Requests->shouye->Accept Merge Request[合并到主干]

    Todos:登录开发者账号,查看开发任务

    整个流程:分支->线上->Pm(合并主干)->下载/更新

    备份管理

          配置文件中加入

                 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

           手工备份

                 /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

    邮件配置

    gitlab_rails['time_zone'] = 'Asia/Shanghai'

    gitlab_rails['gitlab_email_enabled'] = true

    gitlab_rails['gitlab_email_from'] = ''

    gitlab_rails['gitlab_email_display_name'] = 'gitlab'

    gitlab_rails['smtp_enable'] = true

    gitlab_rails['smtp_address'] = ""

    gitlab_rails['smtp_port'] = 25

    gitlab_rails['smtp_user_name'] = ""

    gitlab_rails['smtp_password'] = ""

    gitlab_rails['smtp_domain'] = ""

    gitlab_rails['smtp_authentication'] = "login"

    相关文章

      网友评论

          本文标题:学习GITLAB知识

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