学习GITLAB知识

官网地址: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 "

This is the First Page!

" > 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知识)