gitlab安装及使用

gitlab安装及使用

1 GitLab简介

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

安装gitlab

1 从官网下载rpm包
[root@gitlab ~] # ll
-rw-r--r--  1 root root 389758391 May  2 16:49 gitlab-ce-10.2.2-ce.0.el7.x86_64.rpm
2 安装依赖
[root@gitlab ~] # yum -y install policycoreutils-python
3 安装rpm包
[root@gitlab ~] # rpm -ivh gitlab-ce-10.2.2-ce.0.el7.x86_64.rpm 
PS 出现一个老虎头代表成功
4 检查包
[root@gitlab ~] # rpm -qa |grep gitlab
gitlab-ce-10.2.2-ce.0.el7.x86_64
5 编辑文件
[root@gitlab ~] # vim /etc/gitlab/gitlab.rb
external_url 'http://10.0.0.200'
6 重新配置

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                 # 查看所有服务的日志

网页访问
10.0.0.200
1 重置密码 (至少设置8位)
在这里插入图片描述
2 设置完重新登陆
在这里插入图片描述
3 登陆后的界面
在这里插入图片描述
4 更改欢迎界面的显示内容
在这里插入图片描述
5 创建项目图示
在这里插入图片描述

创建一个组
在这里插入图片描述
在这里插入图片描述
创建一个项目
在这里插入图片描述
在这里插入图片描述

添加公钥

[root@gitlab ~] # cat .ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDmFBc+oKI+rC829dyXP+865GijZBylHephesM9gBL/CI5nCrU62hZW9p1/fCvTFc2gnU7WV/huLYxp28rq7FKdOH6foS+Hu+JJ5jNEshRdK3S2lhCvyYeYOUYJyc+3D+ITCpjYfCTBOh1QpOc8SP7oqVa/EJxk/dwa2Qqcs7T/5RnRQv92YxJRvj1s0M5xJEfxNfF6CLE/8okSntlhQQLFAhZv8dfBj9o926XgaGPHC0BhClJtdnGiZJuYWQAlUHOtn35PBoGbIwwi1aZ/QWTNGoyhleOGgkAovL1I9N4Q6avU9P0proQYFKggXxLyfOlzT8H8x9WaNqEfr9aCwYbN root@gitlab

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
查看所有项目
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

删除原来的

[root@gitlab ~] # cd git_data/
[root@gitlab git_data] # git remote remove origin 
[root@gitlab git_data] # git remote -v
[root@gitlab git_data] # git remote add origin git@10.0.0.200:oldboy/test.git    #下载仓库
[root@gitlab git_data] # git push -u origin master    #推送仓库

推送文件到远程仓库

[root@gitlab git_data] # touch oldboy.txt
[root@gitlab git_data] # git add .
[root@gitlab git_data] # git commit -m "newfile oldboy.txt"
[master 8ed5d8d] newfile oldboy.txt
 2 files changed, 1 insertion(+)
 create mode 160000 git_data01
 create mode 100644 oldboy.txt
[root@gitlab git_data] # git push  -u origin master 
Counting objects: 3, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 299 bytes | 0 bytes/s, done.
Total 2 (delta 0), reused 0 (delta 0)
To git@10.0.0.200:oldboy/test.git
   ffabb5a..8ed5d8d  master -> master
Branch master set up to track remote branch master from origin.

在这里插入图片描述
准备一个Jenkins的虚拟机 充当开发者
10.0.0.201
内存 2G
磁盘 50G
创建一个用户
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
换一个浏览器登陆dev这个账户
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
登陆后发现并没有权限
把用户添加到组
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
添加公钥

创建公钥
[root@jenkins ~] # ssh-keygen 
[root@jenkins ~] # cat .ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6UP2jq/sUBBMRFrQ+TXuQiHMU7J4wKNeAgJYF1kRhn7k7AjAFmAl2WQ7LcMRC8rabHLTiqcpmd9IKd8e1ofgCFSoJiCij8vcVitvsD9OBwnOz1HN7wp6WBQ3UZAwQoeY3JgB5ZRRF5uBgFolM9mh/BoDE5c2MV+FGKBGLOMrM/uj6XllH8iEo26s67Bt5r/QiBNua4aa9EOH3hQbcP9MApjIXojx/ImjonzX0l5U2VoxTXXqUMWsMZeCDBOOdyWWhjh9chckpJlEF0R+N0qablHaCtPi+VWVORzAtcJOaZx9Vjnn0flbauZU2sB5ydqpNcwDQiILQ2bOapKf0kWdz root@jenkins

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
[root@jenkins git_data] # git clone git@10.0.0.200:oldboy/test.git
在这里插入图片描述
检查

[root@jenkins git_test] # cd git_test
[root@jenkins git_test] # git remote -v                  #把远程仓库也克隆下来
[root@jenkins git_test] # git config –-global user.name=“dev”
[root@jenkins git_test] # git config –-global user.email=“dev@mail.com”
[root@jenkins git_test] # git config –-global color.ui=true
[root@jenkins git_test] # touch alex.txt
[root@jenkins git_test] # git add .
[root@jenkins git_test] # git commit -m "newfile alex.txt"
[root@jenkins git_test] # git push -u origin master

显示结果
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

[root@jenkins git_test] # git push -u origin master
[root@jenkins git_test] # touch dev.txt
[root@jenkins git_test] # git add .
[root@jenkins git_test] # git commit -m "newfile dev.txt"
[root@jenkins git_test] # git push -u origin master
[root@jenkins git_test] # git branch -b test

代码合并 分支保护
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

[root@jenkins git_test] #touch master.txt
[root@jenkins git_test] #git add .
[root@jenkins git_test] #git commit -m "newfile master.txt"
[root@jenkins git_test] #git push -u origin master 
出现报错 分支落后于远程分支
[root@jenkins git_test] #git pull    					   #随便填点东西,可以把新的东西拉取下来      把远端的代码进行更新
[root@jenkins git_test] #git push -u origin master 		   #再一次推送就ok
测试dev分支推送代码则显示为拒绝,如果还是可以推送请查看配置保护分支选项
[root@web01 get_test]# git checkout master
[root@web01 get_test]# git merge dev
[root@web01 get_test]# git push -u origin master

推送测试

返回master端测试推送,由于其他分支进行推送,和master端内容不一致,所以无法进行推送,使用git pull把代码拉取到本地,或者git fetch 把代码拉取到本地仓库后进行合并(注意:git pull = git tetch+git merge)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值