linux运维进阶:gitlab安装

一、gitlab简介

GitLab 是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用。
常用的网站:
官网:https://about.gitlab.com/
国内镜像:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/

二、gitlab环境准备

安装环境:
1、  CentOS 6或者7
2、  2G内存(实验)生产(至少4G)
3、  安装包:gitlab-ce-10.2.2-ce
4、  禁用防火墙,关闭selinux

https://about.gitlab.com/installation/#centos-7         # git官网
yum install -y curl policycoreutils-python openssh-server       # 安装依赖
cd /home/oldboy/tools
rz -bye gitlab-ce-10.2.2-ce.0.el7.x86_64.rpm                 # 上传gitlab安装包 下载方式可通过国内清华源gitlab-ce社区版本下载
vim /etc/gitlab/gitlab.rb                   #  gitlab 配置文件
更改url地址为本机IP地址 external_url 'http://10.0.0.203'
gitlab-ctl reconfigure          # 更改配置文件后需重新配置
/opt/gitlab/                    # gitlab的程序安装目录
/var/opt/gitlab                 # gitlab目录数据目录
/var/opt/gitlab/git-dfata       # 存放仓库数据
gitlab-ctl status               # 查看目前gitlab所有服务运维状态
gitlab-ctl stop                 # 停止gitlab服务
gitlab-ctl stop nginx           # 单独停止某个服务
gitlab-ctl tail                 # 查看所有服务的日志
通过浏览器输入IP地址进行访问gitlab
10.0.0.203
Gitlab的服务构成:
nginx:   静态web服务器
gitlab-workhorse: 轻量级的反向代理服务器
logrotate:日志文件管理工具
postgresql:数据库
redis:缓存数据库
sidekiq:用于在后台执行队列任务(异步执行)。(Ruby)
unicorn:An HTTP server for Rack applications,GitLab Rails应用是托管在这个服务器上面的。(Ruby Web Server,主要使用Ruby编写)

 三、gitlab配置使用

1、配置外观
管理区域-外观
2、关闭自动注册-可根据实际需求操作
管理区域-设置-关闭自动注册
3、创建组-用户-项目
创建组


设置组名称、描述等创建群组

创建用户 

 

 设置密码

 

 4、把用户添加到组里面
管理区域-选择创建的oldboy组进行添加用户、权限给开发人员-增加用户到群组

 

 5、创建仓库
管理区域-创建仓库

6、登陆dev用户测试是否能看到空的git-test仓库
7、添加ssh-keys到gitlab 注:一个服务器的key只能添加到一个gitlab服务器上,一个用户可以添加多个key
ssh-keygen -t rsa
8、添加远程仓库、推送本地代码到远程仓库
git remote add origin git@10.0.0.203:oldboy/get_test.git    # 添加远程仓库
git remote rename origin old-origin         # 远程 origin 如果已经存在则重新命名或者新添加仓库名称不同
git push -u origin --all            # 推送代码到远程仓库
8、克隆代码到另外一台主机
如果不做认证会让输入gitlab的密码、我们使用key进行认证
ssh-keygen -t rsa
把公钥复制到dev用户下进行测试
然后在克隆代码
git clone git@10.0.0.203:oldboy/get_test.git
测试推送代码到dev下
git branch dev
git checkout dev
touch dev
git add .
git commit -m "add dev"
git push -u origin dev              # 推送dev分支到远程仓库
提交合并请求进行分支合并到master主分支
合并后在gitlab服务端master上没有dev、要先进行pull
cd /root/git_data
git pull
9、设置保护主分支

测试dev分支推送代码则显示为拒绝,如果还是可以推送请查看配置保护分支选项
[root@web01 get_test]# git checkout master
[root@web01 get_test]# git merge dev
[root@web01 get_test]# git push -u origin master

10、返回master端测试推送,由于其他分支进行推送,和master端内容不一致,所以无法进行推送,使用git pull把代码拉取到本地,或者git fetch 把代码拉取到本地仓库后进行合并(注意:git pull = git tetch+git merge)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值