Linux下GitLab的安装及使用


一、初始GitLab
 

GitLab是利用Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。
与Github类似,GitLab能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。
它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。


Git的家族成员
 

Git:是一种版本控制系统,是一个命令,是一种工具。
Gitlib:是用于实现Git功能的开发库。
Github:是一个基于Git实现的在线代码托管仓库,包含一个网站界面,向互联网开放。
GitLab:是一个基于Git实现的在线代码仓库托管软件,你可以用gitlab自己搭建一个类似于Github一样的系统,一般用于在企业、学校等内部网络搭建git私服。

 

二、实验环境(rhel7.3版本)
1、selinux和firewalld状态为disabled

2、各主机信息如下:

主机ip
server1(git)172.25.83.1

 

三、Gitlab常用命令
 

gitlab-ctl start   #启动所有gitlab组件;
gitlab-ctl stop   #停止所有gitlab组件; 
gitlab-ctl restart   #重启所有gitlab组件; 
gitlab-ctl status   #查看服务状态; 
gitlab-ctl reconfigure   #修改配置文件之后,重新加载gitlab配置文件并启动所有gitlab组件
vim /etc/gitlab/gitlab.rb   #修改默认的配置文件; 
gitlab-rake gitlab:check SANITIZE=true --trace   #检查gitlab; 
gitlab-ctl tail   #查看日志;
gitlab-ctl --help   #查看gitlab命令的帮助


 

四、部署GitLab
 

1、下载并安装Gitlab社区版软件:gitlab-ce-11.2.0-ce.0.el7.x86_64.rpm

[root@server1 ~]# ls
gitlab-ce-11.2.0-ce.0.el7.x86_64.rpm
[root@server1 ~]# yum install gitlab-ce-11.2.0-ce.0.el7.x86_64.rpm -y   #安装GitLab社区版。ce表示社区版,ee表示企业版

2、编辑配置文件/etc.gitlab/gitlab.rb

[root@server1 ~]# vim /etc/gitlab/gitlab.rb 13 external_url 'http://172.25.83.1'   #访问gitlab的地址
[root@server1 ~]# gitlab-ctl reconfigure   #重载服务,过程较长耐心等待



重载服务之后,查看启动的所有的gitlab组件


[root@server1 salt]# gitlab-ctl status
run: alertmanager: (pid 1300) 275s; run: log: (pid 1298) 275s
run: gitaly: (pid 1293) 275s; run: log: (pid 1292) 275s
run: gitlab-monitor: (pid 1297) 275s; run: log: (pid 1296) 275s
run: gitlab-workhorse: (pid 1285) 275s; run: log: (pid 1284) 275s
run: logrotate: (pid 1280) 275s; run: log: (pid 1279) 275s
run: nginx: (pid 1289) 275s; run: log: (pid 1288) 275s
run: node-exporter: (pid 1287) 275s; run: log: (pid 1286) 275s
run: postgres-exporter: (pid 1302) 275s; run: log: (pid 1301) 275s
run: postgresql: (pid 1278) 275s; run: log: (pid 1274) 275s
run: prometheus: (pid 1299) 275s; run: log: (pid 1294) 275s
run: redis: (pid 1277) 275s; run: log: (pid 1273) 275s
run: redis-exporter: (pid 1291) 275s; run: log: (pid 1290) 275s
run: sidekiq: (pid 3104) 90s; run: log: (pid 1281) 275s
run: unicorn: (pid 1276) 275s; run: log: (pid 1275) 275s


 

3、登录gitlab http://172.25.83.1

 

用户:root 第一次登录需要强制修改密码(密码至少要8位)

用修改过后的密码进行login

4、创建Project

 

<1>安装Git工具linux:安装Git,使用自带的源安装。—其实在之前配置Git本地仓库时已经做过这步,这里不需要再做

[root@server1 ~]# yum install git -y


 

<2>生成密钥文件:使用ssh-keygen生成密钥文件.ssh/id_rsa.pub—其实在之前配置Git本地仓库与Github远程仓库关联时已经做过这步,这里不需要再做

[root@server1 ~]# ssh-keygen
[root@server1 ~]# ls .ssh/
id_rsa  id_rsa.pub  

<3>在GitLab的主页中新建一个Project

 

在web界面点击“Create  a  project”:

在Project  name中填入要创建的项目的名称(我这里创建的项目的名称是test),勾选Initialize this repository with a README,这样GitHub会自动为我们创建一个README.md文件。创建完毕后,可以看到README.md文件,并点击“Create project“创建工程

根据提示,我们点击橙色字体的“add  an  SSH  key”,进行SSH  key的添加

[root@server1 ~]# cd .ssh/
[root@server1 .ssh]# cat id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3xeeqOavrqvenQHbGkepogV1YbggV/086mA28HX1iXe3MVXIKt9+1gBJdN8lmhUz9HPgADPBhaOfM3jgP459lf9bFBqd0x5doOA+JN0LtEiM0K4kSQ8yb3ViExN8iqLd4jxVhcjIuPmHfD+JhEG0iGJ79tXNL3m7GlONNq7lODvNuquq5kUK2u7/9cJfI9Bmow8lX92qxF0jz82n73UeYOvCh1069vWDVbONCUB7lJMdXQPC2XPfelyuWmDGExxdUqM4xLcTBBFx5XsMyjQvA+zljytYKphgNEO3hC0hWGxKnEw4R5U/stAROBG/W+nNzkupoWGFjIo1Zax52PY+x root@server1


点击Add key

5、克隆项目test,在本地生成同名目录,并且目录中会有所有的项目文件

 

<1>进入创建的test项目主界面


点击Your  projects

点击Administrator / test

<2>将Gitlab上的远程项目test克隆到本地

[root@server1 ~]# git clone git@172.25.83.1:root/test.git   #在哪个目录下执行该命令都可以,我这里想把克隆到本地的test项目放在root用户的家目录下,所以我这里在root用户的家目录下执行该名林。
Cloning into 'test'...
The authenticity of host '172.25.83.1 (172.25.83.1)' can't be established.
ECDSA key fingerprint is 36:fe:bc:26:f8:92:25:e4:b6:f3:d3:54:dc:06:a5:c0.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.25.83.1' (ECDSA) to the list of known hosts.
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
[root@server1 ~]# ls
test


 

注意把Git库的地址换成你自己的,然后进入test目录看看,已经有README.md文件了:

[root@server1 ~]# cd test/
[root@server1 test]# ls
README.md
[root@server1 test]# cat README.md 
# test


 

6、我们可以在本地项目test中编辑内容,并将内容推送到Gitlab远程项目test下

 

<1>添加git用户信息—其实在之前配置Git本地仓库时已经做过这步,这里不需要再做

[root@server1 demo]# git config --global user.name xjj   #设置用户名
[root@server1 demo]# git config --global user.email xjj@xjj.com   #设置用户邮箱


 

[root@server1 ~]# pwd
/root
[root@server1 ~]# cat .gitconfig 
[user]name = xjjemail = xjj@xjj.com

<2>创建需要上传到GitLab中的目标文件

[root@server1 test]# pwd
/root/test
[root@server1 test]# echo www.xin.com > index.html   #必须在项目目录test下执行该命令
[root@server1 test]# cat index.html 
www.xin.com


 

<3>将index.html文件加入到索引中

[root@server1 test]# git add index.html

<4>将index.html提交到本地仓库

[root@server1 test]# git commit -m "add index.html"
[master 9bcf5d2] add index.html1 file changed, 1 insertion(+)create mode 100644 index.html

<5>将文件同步到GitLab服务器上

[root@server1 test]# git push -u origin master
Counting objects: 4, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 278 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@172.25.83.1:root/test.gitdf45c1d..9bcf5d2  master -> master
Branch master set up to track remote branch master from origin.


 

<6>在网页中查看上传的index.html文件已经同步到GitLab中

点击index.html


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/386673.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面试大厂应该注意哪些问题?隔壁都馋哭了

前言 说起程序员人们的第一印象就是工资高、加班凶、话少钱多头发少。再加上现在科技互联网公司太吃香&#xff0c;bat、华为小米等公司程序员加班情况被广泛传播&#xff0c;程序员用生命在敲代码的印象刻在了很多人的心里。 与其它行业一样&#xff0c;凡是有高级和普通&…

元类(metaclass)

目录 一、引言二、什么是元类三、为什么用元类四、内置函数exec(储备)五、class创建类5.1 type实现六、自定义元类控制类的创建6.1 应用七、__call__(储备)八、__new__(储备)九、自定义元类控制类的实例化一十、自定义元类后类的继承顺序十一、练习一、引言 元类属于python面向…

Linux环境下使用rpm包安装GitLab

1.安装依赖环境 [rootgitlab ~]# yum install curl openssh-server postfix cronie 2.下载安装GitLab包 我安装的环境是Red Hat Enterprise Linux Server release 7.4 (Maipo) GitLab下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7 以上是清华大学开源…

面试字节跳动Android工程师该怎么准备?深度解析,值得收藏

前言 Android高级架构师需要学习哪些知识呢&#xff1f; 下面总结一下我认为作为一个资深开发者需要掌握的技能点。 1.Android开发的几个阶段 我的10年开发生涯中&#xff0c;有9年都是做Android相关开发&#xff0c;以我个人的经历来看&#xff0c;Android开发市场分为以下…

阿里巴巴Android面试都问些什么?系列篇

Google 为了帮助 Android 开发者更快更好地开发 App&#xff0c;推出了一系列组件&#xff0c;这些组件被打包成了一个整体&#xff0c;称作 Android Jetpack&#xff0c;它包含的组件如下图所示&#xff1a; 老的 support 包被整合进了 Jetpack&#xff0c;例如上图 Foundatio…

docker-compose安装elk7.1.1版本

在用docker-compose编排elk三个服务时&#xff0c;碰到了很多坑&#xff0c;网上很多资料编排的版本都不是最新的版本&#xff0c;我们这里用的 elasticsearch&#xff0c;logstash&#xff0c;kibana全都是elastic官方提供的目前最新版本7.1.1&#xff0c;高版本和低版本的一些…

阿里P8成长路线!我的头条面试经历分享,吊打面试官系列!

正式加入字节跳动&#xff0c;分享一点面试小经验 今天正式入职了字节跳动。工号超吉利&#xff0c;尾数是3个6。然后办公环境也很好&#xff0c;这边一栋楼都是办公区域。公司内部配备各种小零食、饮料&#xff0c;还有免费的咖啡。15楼还有健身房。而且公司包三餐来着。下午…

Docker安装部署ELK教程 (Elasticsearch+Kibana+Logstash)

Elasticsearch 是个开源分布式搜索引擎&#xff0c;它的特点有&#xff1a;分布式&#xff0c;零配置&#xff0c;自动发现&#xff0c;索引自动分片&#xff0c;索引副本机制&#xff0c;restful风格接口&#xff0c;多数据源&#xff0c;自动搜索负载等。 Logstash 是一个完…

阿里P8面试官都说太详细了,面试资料分享

背景 知乎客户端中有一个自己维护的 Hybrid 框架&#xff0c;在此基础上开发了一些 Hybrid 页面&#xff0c;当需要前端或者客户端开发接口的时候&#xff0c;就涉及到联调的问题。 和一般的 前端 <> 服务端&#xff0c;或者 客户端 <> 服务端 类似&#xff0c;前…

virtual和override

偶然间看到的题&#xff0c;借此记录。 class Program{static void Main(string[] args){D d new D(); //第一个D是申明类&#xff0c;第二个D是实例类A a d;B b d;C c d;a.F();b.F();c.F();d.F();}class A{public virtual void F() { Console.WriteLine("A.F")…

阿里内部资料!如何试出一个Android开发者真正的水平?系列教学

前言 马爸爸总结了一句话&#xff1a;跳槽&#xff0c;要么是钱不到位&#xff0c;要么是受了委屈。 我给自己这次的跳槽经历做了一个分析&#xff0c;希望能对那些想换工作的朋友有所帮助。 许多朋友想换工作&#xff0c;但是对“换工作”的理解可能仅限于写简历、投简历、…

CentOS7 linux下yum安装redis以及使用

CentOS7 linux下yum安装redis以及使用 1.安装redis数据库 1 yum install redis 2.下载fedora的epel仓库 yum install epel-release 3.启动redis服务 systemctl start redis 4.查看redis状态 systemctl status redis systemctl stop redis 停止服务 systemctl restart r…

Codeforces 1182A Filling Shapes

题目链接&#xff1a;http://codeforces.com/problemset/problem/1182/A 思路&#xff1a;n为奇数时不可能完全填充&#xff0c;ans 0。发现若要完全填充&#xff0c;每俩列可产生俩种情况&#xff0c;所以为 ans 2n/2 AC代码&#xff1a; 1 #include<bits/stdc.h>2 us…

阿里大神最佳总结Flutter进阶学习笔记,技术详细介绍

开头 很多人工作了十年&#xff0c;但只是用一年的工作经验做了十年而已。 高级工程师一直是市场所需要的&#xff0c;然而很多初级工程师在进阶高级工程师的过程中一直是一个瓶颈。 移动研发在最近两年可以说越来越趋于稳定&#xff0c;因为越来越多人开始学习Android开发&…

掌握这些Android开发热门前沿知识,跳槽薪资翻倍

前言 这是一篇软文、但是绝对不是鸡汤&#xff1b;为啥不是呢&#xff1f;因为我文笔太差…偶尔矫情发发牢骚&#xff08;勿喷&#xff09; 说说程序猿行业 现在社会上给IT行业贴上了几个标签&#xff1a;高薪、高危、高大上、秃顶&#xff08;哈哈&#xff09;。这些标签我…

linux环境-docker安装rabbitmq

1、进入docker hub镜像仓库地址&#xff1a;https://hub.docker.com/ 2、搜索rabbitMq&#xff0c;进入官方的镜像&#xff0c;可以看到以下几种类型的镜像&#xff1b;我们选择带有“mangement”的版本&#xff08;包含web管理页面&#xff09;&#xff1b; 3、拉取镜像 doc…

揭秘ARouter路由机制,源码+原理+手写框架

前言 每个程序员都有一个梦想&#xff0c;那就是进一线互联网公司深造&#xff0c;不要跟我说你不想进去&#xff0c;如果给你一个这样的平台&#xff0c;不管是薪资待遇还是接触的高度来说&#xff0c;对我们程序员来说都是一个机会&#xff0c;我以前有一个同事&#xff0c;…

揭秘!双非渣本Android四年磨一剑,学习路线+知识点梳理

第一次观看我文章的朋友&#xff0c;可以关注、点赞、转发一下&#xff0c;每天分享各种干货技术和程序猿趣事 由于涉及到的面试题较多导致篇幅较长&#xff0c;我根据这些面试题所涉及到的常问范围总结了并做出了一份学习进阶路线图​​​​​​​及面试题答案免费分享给大家&…

Windows上PostgreSQL安装配置教程

这篇文章主要为大家详细介绍了Windows上PostgreSQL安装配置教程&#xff0c;具有一定的参考价值&#xff0c;感兴趣的小伙伴们可以参考一下 PostgreSQL的扩展PostGIS是最著名的开源GIS数据库。 安装PostgreSQL是第一步。 1.下载PostgreSQL的二进制安装文件。 PostgreSQL官网…

快递100接口的调用过程

前言 大部分的商城都需要调用快递的接口来记录商城的物流信息&#xff0c;这里就给出一种快递接口&#xff08;快递100&#xff09;调用的方法。 正文 一、官方文档 1. 官方文档的地址为&#xff1a; https://www.kuaidi100.com/openapi/api_subscribe.shtml 二、具体实现 1. 商…