热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

centos7安装配置Gitlab步骤

这篇文章给大家分享的是centos7安装配置Gitlab的步骤,相信大部分人都还不知道怎么安装配置,

这篇文章给大家分享的是centos 7安装配置Gitlab的步骤,相信大部分人都还不知道怎么安装配置,为了让大家学会,给大家总结了以下内容,话不多说,一起往下看吧。

一、准备环境

操作系统内存CPU
centos 74G以上双核

二、安装Gitlab

1)安装Gitlab所需依赖
[root@gitlab ~]# yum -y install  epel-release curl openssh-server openssh-clients postfix cronie policycoreutils-python
2)获取Gitlab的RPM软件包

方法一:通过清华大学的开源镜像站获取软件包(推荐)

[root@gitlab ~]# wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.3.5-ce.0.el7.x86_64.rpm

方法二:通过Gitlab官网来获取软件包(网络稳定时使用)

[root@gitlab ~]# wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-12.3.5-ce.0.el7.x86_64.rpm/download.rpm
3)安装Gitlab
[root@gitlab ~]# rpm -ivh gitlab-ce-12.3.5-ce.0.el7.x86_64.rpm 
#安装时间较长,耐心等待,安装过程中会出现gitlab的logo
4) 修改gitlab的url并执行reconfigure
[root@gitlab ~]# vim /etc/gitlab/gitlab.rb         #修改gitlab的配置文件
………………………………                 #省略部分内容
external_url 'http://192.168.1.8'                       #将此处改为本机的IP地址,便于访问
[root@gitlab ~]# gitlab-ctl reconfigure        #重新配置gitlab,就算不修改配置文件,也需要在安装后重新配置gitlab
5)web页面访问测试

如图:
centos 7安装配置Gitlab步骤
可以访问到表示没有问题,但是都是英文界面,对于英文不好的我表示很是头疼,还好可以通过一些方法使其汉化,方法如下!

三、汉化Gitlab

1)获取gitlab汉化补丁包(如果不需要汉化,则跳过此步骤即可)
[root@gitlab ~]# head -1 /opt/gitlab/version-manifest.txt           #查看gitlab的版本
gitlab-ce 12.3.5
[root@gitlab ~]# git clone https://gitlab.com/xhang/gitlab.git -b v12.3.5-zh
#获取汉化补丁包(注意需与gitlab的版本保持一致)
[root@gitlab ~]# cd gitlab/               #进入刚才clone下来的gitlab目录
[root@gitlab gitlab]# git diff v12.3.5 v12.3.5-zh > /root/v12.3.5-zh.diff
#用diff将英文原版与中文版的对比生成.diff文件
2)将中文补丁导入gitlab
[root@gitlab gitlab]# gitlab-ctl stop              #停止gitlab
[root@gitlab gitlab]# yum -y install patch
[root@gitlab gitlab]# patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < ../v12.3.5-zh.diff
 #将刚才的diff文件做为补丁导入到gitlab中
#该命令执行过程中,一路回车跳过即可
[root@gitlab gitlab]# gitlab-ctl start                 #启动gitlab
[root@gitlab gitlab]# gitlab-ctl reconfigure      #重新配置gitlab
3)web页面再次访问

如图:
centos 7安装配置Gitlab步骤
centos 7安装配置Gitlab步骤
centos 7安装配置Gitlab步骤

四、gitlab基本操作

1)配置SSH方式免密登录
[root@gitlab ~]# ssh-keygen -t rsa -C "1454295320@qq.com"
#生成秘钥对,一路回车即可,“-C”后是自己的邮箱
[root@gitlab ~]# cat ~/.ssh/id_rsa.pub         #查看生成的公钥并复制 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvNm+nXc59ugb0SGr9iMHDSFjvmdSJk0ORuX3hbjt822Y2ofXysUrIuBSQ1Jn0Rss/LPU54K32i4bIDsa/jD9gIpN/GqU+YP1MQ9bEw3YVUONAs+nYeWJWahQ1rMTeM0HC9aKvNTrNsOqrXIboJymBrs6Odt+1NnZsYHMwA/KlpYCFsi0HQgBzsLbrD5v++cIDTvM/V4rMq6fqFsfWoYYMHWc8JeNMl/aWJV1RhJpt7wm17FEv3XiH+wyoef5ZYI60IkH5qMJkjWhKcRXCWG5SH3nphUb1fmktB4DH92TW/EGw///VQEnE7tkpNjyJpOTXDuHnEk2tw43cctDN2sJH 1454295320@qq.com

回到web页面,操作如下:
centos 7安装配置Gitlab步骤
centos 7安装配置Gitlab步骤
centos 7安装配置Gitlab步骤

2)创建一个基本库

如图:
centos 7安装配置Gitlab步骤
centos 7安装配置Gitlab步骤
centos 7安装配置Gitlab步骤
回到服务器上输入测试的命令,如下:

[root@gitlab ~]# git config --global user.name "Administrator"
[root@gitlab ~]# git config --global user.email "admin@example.com"
[root@gitlab ~]# git clone git@192.168.1.8:root/test01.git         
#克隆到本地,根据提示输入“yes”即可!
[root@gitlab ~]# cd test01/
[root@gitlab test01]# touch README.md
[root@gitlab test01]# git add README.md
[root@gitlab test01]# git commit -m "add README"
[root@gitlab test01]# git push -u origin master

刷新web页面即可,如图:
centos 7安装配置Gitlab步骤

五、远端库的基本操作

当你从远端仓库克隆时,实际上git自动把本地的master分支和远端的master分支对应起来了,并且远程仓库的默认名称是origin。

1)查看关联的远程库的信息
[root@gitlab test01]# git remote        #简洁信息
origin
[root@gitlab test01]# git remote -v         #详细信息
origin  git@192.168.1.8:root/test01.git (fetch)
origin  git@192.168.1.8:root/test01.git (push)
2)推送分支到远程仓库
[root@gitlab test01]# git checkout -b dev             #创建并切换到dev分支
[root@gitlab test01]# git push origin dev              #将本地的分支推送到远程仓库

刷新页面之后,如图:
centos 7安装配置Gitlab步骤

3)解决多人协作产生的问题

当我们整个小组对同一个分支进行开发时,如果在你提交之前,你的同事已经修改了分支的内容并推送到远端仓库,而碰巧你也对同样的文件做了修改,并试图推送,那么会推送失败,因为你的同事的最新提交的数据和你试图提交的数据有冲突(你本地的内容比远端仓库的旧了),解决的办法会在提示你推送失败的返回信息中给出,这里我们模拟一下这一过程。

#进入另一个目录,克隆远端仓库,模拟多人操作
[root@gitlab test01]# cd /tmp           
[root@gitlab tmp]# git clone git@192.168.1.8:root/test01.git
[root@gitlab tmp]# cd test01/
[root@gitlab test01]# git checkout -b etc            #重新创建一个分支并切换
[root@gitlab test01]# echo -e "touch /tmp/test01" > tmp.txt
[root@gitlab test01]# git add tmp.txt
[root@gitlab test01]# git commit -m "commmit from /tmp"
[root@gitlab test01]# git push origin etc                #将新修改的内容推送到远端

回到web界面进行刷新,即可看到新提交的分支:
centos 7安装配置Gitlab步骤
centos 7安装配置Gitlab步骤

#上述操作是在/tmp目录下执行的,接下来的操作在/root目录下执行:
[root@gitlab test01]# cd /root/test01/
[root@gitlab test01]# git checkout -b etc
[root@gitlab test01]# echo "touch /root/test01.txt" > root.txt
[root@gitlab test01]# git add root.txt
[root@gitlab test01]# git commit -m "commit from /root"
[root@gitlab test01]# git push origin  etc            
#再次推送,将会出现以下错误
To git@192.168.1.8:root/test01.git
 ! [rejected]        etc -> etc (fetch first)
error: 无法推送一些引用到 &#39;git@192.168.1.8:root/test01.git&#39;
提示:更新被拒绝,因为远程版本库包含您本地尚不存在的提交。这通常是因为另外
提示:一个版本库已推送了相同的引用。再次推送前,您可能需要先合并远程变更
提示:(如 &#39;git pull&#39;)。
提示:详见 &#39;git push --help&#39; 中的 &#39;Note about fast-forwards&#39; 小节。
[root@gitlab test01]# git pull origin etc              #将远端的etc分支pull到本地
[root@gitlab test01]# ls               #可以看出在/tmp目录下提交的文件就存在了
README.md  root.txt  tmp.txt
[root@gitlab test01]# git push origin etc                  #然后再次将本地的dev分支推送到gitlab,即可成功

再次刷新web页面,etc分支下就会有了我们在/tmp目录和/root目录下提交的所有内容,如图:
centos 7安装配置Gitlab步骤

4)合并远程分支
[root@gitlab test01]# git checkout master           #切换至master分支
[root@gitlab test01]# git merge etc                    #合并etc分支
[root@gitlab test01]# ls                   #查看合并后的分支下内容
README.md  root.txt  tmp.txt
[root@gitlab test01]# git add .
[root@gitlab test01]# git commit -m "提交"
[root@gitlab test01]# git push origin master             #推送到远端版本库

再次刷新web页面,如图:
centos 7安装配置Gitlab步骤

5)删除远程的分支
[root@gitlab test01]# git branch -d etc                 #删除本地的dev分支
[root@gitlab test01]# git branch -r -d origin/etc     #删除指定的远程分支
[root@gitlab test01]# git push origin :etc               #将删除的分支提交到远程版本库中
[root@gitlab test01]# git branch -d dev
[root@gitlab test01]# git branch -r -d origin/dev
[root@gitlab test01]# git push origin :dev                      #同上

再次刷新web页面,如下:
centos 7安装配置Gitlab步骤

六、重置gitlab管理员密码

[root@gitlab ~]# gitlab-rails console production             #必须是root用户登录服务器执行该命令
irb(main):001:0> user = User.where(id: 1).first             #id为1的是超级管理员
irb(main):002:0> user.password = &#39;yourpassword&#39;       #密码必须至少8个字符
irb(main):003:0> user.save!                  #保存用户修改信息,如没有问题返回true
irb(main):004:0> exit                             #退出

再次登录,就需要使用新密码yourpassword进行登录了。

至此,centos 7安装配置Gitlab的步骤就分享到这了,你们学会了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程笔记行业资讯频道,感谢各位的阅读!


推荐阅读
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 在Kubernetes上部署JupyterHub的步骤和实验依赖
    本文介绍了在Kubernetes上部署JupyterHub的步骤和实验所需的依赖,包括安装Docker和K8s,使用kubeadm进行安装,以及更新下载的镜像等。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • modulepaddle.fluidhasnoattributedata解决:pipinstallpaddlepaddle-gpu1.7.0.post107-ih ... [详细]
  • 网络请求模块选择——axios框架的基本使用和封装
    本文介绍了选择网络请求模块axios的原因,以及axios框架的基本使用和封装方法。包括发送并发请求的演示,全局配置的设置,创建axios实例的方法,拦截器的使用,以及如何封装和请求响应劫持等内容。 ... [详细]
  • 本文介绍了在Python张量流中使用make_merged_spec()方法合并设备规格对象的方法和语法,以及参数和返回值的说明,并提供了一个示例代码。 ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
author-avatar
henkoanna
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有