Gitlab简介

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。

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

管理的命令
gitlab-ctl stop
gitlab-ctl start
gitlab-ctl restart

Gitlab的安装

第一步:上传安装包

[root@ken ~]# rz

[root@ken ~]# ls | grep git

gitlab-ce-8.9.5-ce.0.el7.x86_64.rpm

第二步:使用yum安装

[root@ken ~]# yum localinstall gitlab-ce-8.9.-ce..el7.x86_64.rpm -y

第三步:修改配置文件

在文件11行左右把主机名修改为你的IP地址

[root@ken ~]# vim /etc/gitlab/gitlab.rb 
...
## Url on which GitLab will be reachable.
## For more details on configuring external_url see:
## https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/configuration.md#c onfiguring-the-external-url-for-gitlab
external_url 'http://10.220.5.137' ## Note: configuration settings below are optional.
## Uncomment and change the value.
############################
# gitlab.yml configuration #
############################
...

第四步:使配置生效

需要一定的时间

[root@ken ~]# gitlab-ctl reconfigure
...

Running handlers:
Running handlers complete
Chef Client finished, 224/314 resources updated in 02 minutes 55 seconds
gitlab Reconfigured!

第五步:浏览器查看

直接输入服务器IP即可访问

在这里输入新的密码,密码长度8位,点击change your password

点击之后跳转到如下的界面

把Admin换成root,密码就是刚才设置的密码,点击sign in

跳转到如下的界面即成功

Gitlab的使用-创建项目

第一步:创建用户

第一步: 点击左上角的扳手符号

第二步:点击NEW USER

第三步:填写用户信息

第二步:创建项目组

第一步:点击NEW GROUP

第二步:填写项目组信息

第三步:创建项目

第一步:点击NEW PROJECT

第二步:填写项目信息

project owner填写项目组的组名

Gitlab在linux中的使用

用到的命令

1.git add

2. git commit

3. git push origin 字分支名字

第一步:创建工作目录

[root@ken ~]# mkdir lll
[root@ken lll]# cd lll

第二步:从web仓库中下载项目

使用git clone

[root@ken lll]# git clone http://10.220.5.137/webs/webss.git
Cloning into 'webss'...
Username for 'http://10.220.5.137': root
Password for 'http://root@10.220.5.137':
remote: Counting objects: , done.
remote: Compressing objects: % (/), done.
remote: Total (delta ), reused (delta )
Unpacking objects: % (/), done.
[root@ken lll]# ls
nginx_pro webss

第三步:创建新的分支

进入到工作目录之下,即包含.git的目录

[root@ken lll]# cd webss/
[root@ken webss]# ls -a
. .. .git hy README
[root@ken webss]# git branch
* master
[root@ken webss]# git branch dev
[root@ken webss]# git checkout dev

第四步:创建测试文件并上传

[root@ken webss]# echo "test88888">test.file
[root@ken webss]# git add .
[root@ken webss]# git commit -m "test.file"
[master 4654ba0] test.file
file changed, insertion(+)
create mode test.file
[root@ken webss]# git push origin dev #当前子分支的名字

第五步:在网页查看gitlab

可以看到多个一个我们刚才在子分支创建的一个测试文件

Gitlab在linux中的使用之秘钥登录

在上面我们每次登录gitlab都要输入名字和面是不是很麻烦?

没关系,现在我们用秘钥来解决这个问题

第一步:查看web端gitlab的秘钥地址

第二步:在本机生成秘钥文件并查看公钥

[root@ken webss]# ssh-keygen
[root@ken webss]# cat /root/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGFGu/W0rx9XiTM6aehm71Vz30TzsLUb5/mCnLjUeJ1sZMS5MONeDR+AoYbXsbXE4vmZfMunEwqIKnduMctieWd/F0//+4FtOWmp0XAkJgatml4bqjvJ1ARxVyDOrXxQKsElC7MmRqw6ghONcoToytZbnXP9J9if6HHiU4sYVxJUKSAFngmk1Ta8DBwC7cvrVS7TFreCq2q0WIQPak2YHt3PUGZkt/LFrWqCJcWYI5dE3/++sWpalLFJQev0jRL6DQDGfxQmxS5AmeMZvFa3d0FUJLVpzzMjNh+2hIT8IJoaA0BSmowGUtFGc++HBqMvXPohIQTBL3aD4uf6aK4ct9 root@ken

第三步:复制秘钥信息填写进web服务端

第四步:点击提交之后再次下载仓库信息

注意这里git clone之后写的是ssh的信息,不是http的连接信息了

回车之后可以看到没有输入任何东西就直接下载完成

[root@ken k]# git clone git@10.220.5.137:webg1/webss.git
Cloning into 'webss'...
remote: Counting objects: , done.
remote: Compressing objects: % (/), done.
remote: Total (delta ), reused (delta )
Receiving objects: % (/), done.

[root@ken k]# ls
 webss

Gitlab在window中的使用

第一步:准备文件

你需要首先在网上下载下面的这个客户端工具

第二步:安装

第三步:创建一个文件夹作为工作目录并进入目录之后

右击鼠标有两个选项,一个是bash一个是图形化,我选择bash,会出现如下的界面

第四步:生成秘钥信息,进行免密登录

在这个界面输入ssh-keygen一直点回车生成秘钥信息

第五步:把公钥信息输入到web服务端

可以从上面的信息中看到秘钥信息保存在哪了,现在我们去c盘找

复制这个公钥里面的信息

第六步:本地下载仓库

使用git clone 加上你的项目ssh信息

第七步:本地查看

发现已经有了仓库信息了,现在你就可以开始写程序了

第八步:测试

进入到包含.git的目录并在此右击打开bash,执行创建分支操作,并建立test.txt测试文件

第九步:上传文件

和linux中一样执行如下命令

第十步:在web中查看

可以看到我们刚才在window中创建的文件也已经被上传上来了

Gitlab仓库搭建及在linux/windows中免密使用gitlab(二)--技术流ken的更多相关文章

  1. Jenkins+Git+Gitlab+Ansible实现持续集成自动化部署静态网站(一)--技术流ken

    前言 在之前已经写了关于Git,Gitlab以及Ansible的两篇博客<Git+Gitlab+Ansible剧本实现一键部署Nginx--技术流ken>,<Git+Gitlab+A ...

  2. Gitlab仓库搭建及在Linux/windows中的免密使用

    1. Gitlab简介 Gitlab:代码私有仓库,可以使用Git进行代码的管理. GitHub:公共仓库. GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭 ...

  3. Linux高级命令进阶(week1_day2)--技术流ken

    输出重定向 场景:一般命令的输出都会显示在终端中,有些时候需要将一些命令的执行结果想要保存到文件中进行后续的分析/统计,则这时候需要使用到的输出重定向技术. >:覆盖输出,会覆盖掉原先的文件内容 ...

  4. Jenkins+Git+Gitlab+Ansible实现持续集成自动化部署动态网站(二)--技术流ken

    项目前言 在上一篇博客<Jenkins+Git+Gitlab+Ansible实现持续化集成一键部署静态网站(一)--技术流ken>中已经详细讲解了如何使用这四个工具来持续集成自动化部署一个 ...

  5. Git+Gitlab+Ansible的roles实现一键部署Nginx静态网站(一)--技术流ken

    前言 截止目前已经写了<Ansible基础认识及安装使用详解(一)--技术流ken>,<Ansible常用模块介绍及使用(二)--技术流ken><Ansible剧本介绍及 ...

  6. Linux磁盘管理及LVM讲解(week2_day2)--技术流ken

    硬盘接口 从整体的角度上,硬盘接口分为IDE.SATA.SCSI和SAS四种,IDE接口硬盘多用于家用产品中,也部分应用于服务器,SCSI接口的硬盘则主要应用于服务器市场,而SAS只在高端服务器上,价 ...

  7. Git+Gitlab+Ansible剧本实现一键部署动态网站(二)--技术流ken

    项目前言 之前已经写了一篇关于git和ansible的博客<Git+Gitlab+Ansible剧本实现一键部署Nginx--技术流ken>.关于git,gitliab,ansible在我 ...

  8. Linux权限管理(week1_day5)--技术流ken

    权限概述 Linux系统一般将文件可存/取访问的身份分为3个类别:owner(拥有者).group(和所有者同组的用户).others(其他人,除了所有者,除了同组的用户以及除了超级管理员),且3种身 ...

  9. Linux常用命令详解(week1_day1_3)--技术流ken

    本节内容 pidofpstopipuptimewgetcurltrddtargrepfind 命令详解 1.pidof 获取正在运行程序的PID 实例1: [root@ken ~]# pidof ss ...

随机推荐

  1. 学习Python第五天

    今天咱们讲一下元组,hash,字典,元组是数据类型其中之一 元组的特性为有序的,不可变的,但是如果其中有可变元素,这些可变元组还是可以改变的,代码如下: 元组的写法:name = (‘roy’,‘al ...

  2. 软件测试-chapter2-homework2

    程序一 1.the fault:for循环中i>0应改为i>=0 for (int i=x.length-1; i >= 0; i--) 2. (Reachability可达性,是f ...

  3. git无法同步

    出现问题: fatal: destination path 'test' already exists and is not an empty directory. 解决方法如下: git init ...

  4. 转发: windows如何管理内存

    (1)有三种方法:虚拟内存,内存映射文件,内存堆栈. 虚拟内存是将页文件加载到内存,适用于比较大的对象或结构: 内存映射文件是将磁盘上文件加载到内存,适用于大文件和单机的进程间内存共享: 堆栈就是动态 ...

  5. Unity一键设置导入图片格式

    前几天由于项目原因,做了一个自动根据模型自动创建动画状态机,然后紧接着做了根据动画状态机和模型一键制作Prefab. 现在因为图片数量或者其它原因需要写一个一键设置图片格式的插件. 至于制作动画状态机 ...

  6. CLion之C++框架篇-优化框架,单元测试(二)

    背景   结合上一篇CLion之C++框架篇-安装工具,基础框架的搭建(一),继续进行框架优化!   googletest(GTest)是Google开源的C++测试框架,与CLion组合,对C++环 ...

  7. mvc网站迁移.net core记录

    接口return Json()时序列号小写的问题 在Startup.cs->ConfigureServices方法配置一下解决 public void ConfigureServices(ISe ...

  8. 第75节:Java的中的JSP,EL和JSTL

    第75节:Java中的JSP,EL和JSTL 哭吧看不完的!!! Cookie和`Session 请求转发和重定向的区别: 地址不一样 请求次数也不一样 数据无法传递 4.跳转范围有限制 效率 请求转 ...

  9. python2程序移植python3的一些注意事项

    1 queue: python2: import Queue python3: import queue 2 queue size: python2: cache = Queue.Queue(maxs ...

  10. ORM基本操作回顾

    连接数据库 默认是MySQLdb 指定引擎 dialect[+driver]: //user:password@host/dbname[?key=value..]: from sqlalchemy i ...