Git工程开发实践(七)——GitLab服务搭建
admin
2023-01-23 16:22:52
0

Git工程开发实践(七)——GitLab服务搭建

操作系统:RHEL 7.3 WorkStation

一、GitLab简介

1、GitLab简介

 GitLab是一个利用Ruby on Rails开发的开源版本管理系统,是集代码托管、测试、部署于一体的开源git仓库管理软件,可通过web界面来进行访问公开或私人项目。GitLab能够浏览代码,管理缺陷和注释,可以管理团队对仓库的访问,非常易于浏览提交过的版本,并提供一个文件历史库,是目前非常流行的研发版本控制系统。
Git:本地版本控制系统工具。
Github:全球最大在线代码托管仓库,https://github.com。
GitLab:支持在线代码托管,支持私有代码托管服务器部署。

2、GitLab的持续集成功能

Gitlab-CI是GitLab Continuous Integration(Gitlab持续集成)的简称。
从Gitlab的8.0版本开始,gitlab就全面集成了Gitlab-CI,并且对所有项目默认开启。
在GitLab 8.0+提供了持续集成的功能,在GitLab中有个Runners的概念。
Runner一共有三种类型
1) 本地Runner
2) 普通的服务器上的Runner
3) 基于Docker的Runner
GitLab原理图:
Git工程开发实践(七)——GitLab服务搭建

3、Gitlab的服务构成

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

4、GitLab常用命令

Gitlab命令分为两部分:通用命令和服务管理命令
语法:gitlab-ctl 命令参数
通用命令:
命令参数如下:
help:帮助
reconfigure:修改配置文件后,重新加载配置
show-config:查看所有服务配置文件信息
uninstall:卸载软件
cleanse:删除gitlab数据,重新白手起家
服务管理命令:
start:启动所有服务
stop:关闭所有服务
restart:重启所有服务
status:查看所有服务状态
tail:查看日志信息
service-list:列举所有启动服务
graceful-kill:平稳停止一个服务

二、GitLab安装配置

1、安装配置GitLab相关依赖项

安装依赖项,配置防火墙开放HTTP和SSH服务

sudo yum install -y curl policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld

如果要使用Postfix来发送通知邮件,在Postfix安装期间请选择'Internet Site'。

sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix

也可以在GitLab安装成功后,配置一个外部SMTP服务器。

2、添加GitLab package仓库

curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

3、安装GitLab

sudo yum install gitlab-ce-10.7.3-ce.0.el7.x86_64
需要设置gitlab的域名,也可以使用ip地址。
sudo EXTERNAL_URL="http://gitlab.example.com" yum install gitlab-ce 
完成后,修改文件/etc/gitlab/gitlab.rb,设置访问url

4、GitLab配置

sudo gitlab-ctl reconfigure
初次配置GitLab会很慢,耐心等待。
加载完成后,开始启动Gitlab,GitLab默认会占用80、8080和9090端口。
重启gitlab服务:
sudo gitlab-ctl restart
Git工程开发实践(七)——GitLab服务搭建
安装完成后第一次访问web界面,系统会要求重置root账户新密码。
Git工程开发实践(七)——GitLab服务搭建
使用root权限登录服务器并启动Ruby on Rails 控制台
gitlab-rails console production

[root@localhost ~]# gitlab-rails console production
Loading production environment (Rails 4.2.8)
irb(main):001:0> 
irb(main):001:0> user = User.where(id: 1).first
=> #
irb(main):002:0>user.password = 'secret_pass'
irb(main):002:0>user.password_confirmation = 'secret_pass'
irb(main):002:0>user.save

5、注册用户

注册一个新用户:
Git工程开发实践(七)——GitLab服务搭建
设置新注册用户的信息:
Git工程开发实践(七)——GitLab服务搭建
生成SSH公钥:
ssh-keygen -t rsa -C "user@qq.com" -b 4096
生成的SSH公钥保存在~/.ssh/id_rsa.pub文件中。
将id_rsa.pub文件中的全部内容拷贝到Key编辑框:
Git工程开发实践(七)——GitLab服务搭建

6、新建组

Git工程开发实践(七)——GitLab服务搭建

7、新建工程

Git工程开发实践(七)——GitLab服务搭建

相关内容

热门资讯

今日重大通报“乐驿茶坊.是不是... 网上科普关于“乐驿茶坊有没有挂”话题很是火热,小编也是针对乐驿茶坊作*弊开挂的方法以及开挂对应的知识...
【今日要闻】“玄龙炸金花.可以... 您好:玄龙炸金花这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款游...
我来教教您“飞鹰互娱.有挂吗?... 您好:飞鹰互娱这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这款游戏...
【今日要闻】“全民如意麻将.辅... 【今日要闻】“全民如意麻将.辅助开挂神器?”其实是有挂您好,全民如意麻将这个游戏其实有挂的,确实是有...
最新引进“微乐三打一.开挂神器... 家人们!今天小编来为大家解答微乐三打一透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪里买...
今日重磅消息“微乐龙江麻将.是... 家人们!今天小编来为大家解答微乐龙江麻将透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里...
【第一财经】“新海贝之城拼三张... 【第一财经】“新海贝之城拼三张.到底是不是挂?”透视曝光猫腻您好,新海贝之城拼三张这个游戏其实有挂的...
我来教教您“西域棋牌.可以开挂... 网上科普关于“西域棋牌有没有挂”话题很是火热,小编也是针对西域棋牌作*弊开挂的方法以及开挂对应的知识...
【第一消息】“兴动棋牌麻将.有... 家人们!今天小编来为大家解答兴动棋牌麻将透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里...
重磅消息“潮汕掌上娱.辅助器?... 重磅消息“潮汕掌上娱.辅助器?”透视曝光猫腻您好,潮汕掌上娱这个游戏其实有挂的,确实是有挂的,需要了...