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
Linux下GitLab的安装及使用相关推荐
- Linux 下 GitLab 安装教程
Linux 下 GitLab 安装教程 安装 Linux 下载 GitLab 安装 GitLab 登录 GitLab GitLab 汉化 GitLab 设置密钥 卸载 GitLab 为了便于以后使用, ...
- linux下编译libuv,linux下libuv库安装教程
下载并编译libuv libuv需要自己手动下载源码,并手动编译. 当前目录为:/home/xlz/test/github/,在后面,会用$PATH来代替,我的系统的Debian8,64bit. $g ...
- Linux下Tomcat的安装配置
Linux下Tomcat的安装配置 一.下载安装对应的jdk,并配置Java环境. 官网下载地址: http://www.oracle.com/technetwork/java/javase/down ...
- linux下从git获取有权限的代码,linux下从源代码安装git
之所以有这样的需求,是因为部分预安装的git版本太低,很多功能没有并且安全性存在问题. 比如git submodule add xxx@host:yyy.git必须在父repo的root目录安装,而新 ...
- linux编译安装jpeg,Linux下JPEG库安装脚本(转)
Linux下JPEG库安装脚本(转)[@more@]该脚本用于在Linux下安装JPEG库,在安装GD库的时候如果没有JPEG库,GD将不能生成JPEG格式的图象. 作者: 何志强#----where ...
- Linux下图解minicom安装
Linux下图解minicom安装 minicom是一个串口通信工具,就像Windows下的HyperTerminal.可用来与串口设备通信,如调试交换机和Modem等.它的Ubuntu软件包的名称就 ...
- Linux下的软件安装方法介绍
本文目录 一.Linux下的软件安装方式 二.在线安装 三.使用dpkg从本地磁盘安装deb软件包 本文目录 一.Linux下的软件安装方式 通常Linux上的软件安装主要有三种方式: 在线安装 从磁 ...
- linux下nginx编译安装
转载自: http://hanqunfeng.iteye.com/blog/697696 一.下载nginx 下载地址:http://www.nginx.org/ 选择nginx-0.8.36 将该下 ...
- linux下pptpd的安装配置(×××)
linux下pptpd的安装配置(×××)--单网卡×××实现 (本文部分内容摘自互联网,特此声明!) 环境介绍:Linux(redhat) 2.6.18 +PPP+PPTPD ...
最新文章
- 屏幕坐标系和视口坐标系
- 【Matlab】求解积分方程的数值解
- Python之fastparquet:fastparquet的简介、安装、使用方法之详细攻略
- 原: 安装VMtools过程流水帐
- vue引入id3_vue常见知识点
- Bootstrap CSS 编码规范之不要使用 @import
- python中可迭代对象,迭代器,生成器的区别和联系
- 自动化测试是测试人员的遮羞布?
- 软件实习项目4——校园一卡通管理系统(实验准备与设计)
- 大学英语2 unit4 第五题
- JAVA 算法 回溯
- oracle 删掉同义词,【oracle删除同义词】作文写作问答 - 归教作文网
- Terraform 学习总结(6)—— 基于阿里云平台上的 Terraform 实战
- 开始我的Python学习历程
- FACIAL: Synthesizing Dynamic Talking Face with Implicit Attribute Learning(论文翻译)
- android棉花糖,清甜棉花糖:安卓M/Android 6.0上手体验评测
- php中跨页面id的获取,excel跨表格提取数据?phpexcel 读取excel里的数据并在页面显示出来...
- STM32和emWin必须知道的那些事
- 用仿ActionScript的语法来编写html5——第七篇,自定义按钮
- Pandaboard Es debug
热门文章
- usb大容量存储设备驱动_usb无法识别怎么办 如何解决usb识别故障【详细步骤】...
- php进程间通信 yoc_续上篇Swoole多进程数据共享的问题
- php 邮件验证_PHP程序来验证电子邮件地址
- go zap去除程序名称_适用于Zip,Zap和Zoom游戏的Python程序
- 已知有几个数据存放在BUF为首址的字节存储区中,试统计其中正数的个数,并将结果存入ZNUM单元中。
- VS2019使用NASM编译汇编文件
- 儿童的身高标准对照表_2020“儿童身高标准”出炉,10岁身高140,你家娃达标吗...
- uva 11387——The 3-Regular Graph
- 1346. 检查整数及其两倍数是否存在 golang
- 581. 最短无序连续子数组 golang