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. Paper | 多任务学习的鼻祖

    目录 1. MTL的定义 2. MTL的机制 2.1. Representation Bias 2.2. Uncorrelated Tasks May Help? 3. MTL的用途 3.1. Usi ...

  2. virtualenv虚拟环境

    1.你听过虚拟环境么? 虚拟:即不真实 环境:即周围的条件 那么到底什么事虚拟环境呢 2.虚拟环境 它是一个虚拟化,从电脑独立开辟出来的环境.通俗的来讲,虚拟环境就是借助虚拟机docker来把一部分内 ...

  3. 简单的JavaScript图像延迟加载库Echo.js

    插件描述:和 Lazy Load 一样,Echo.js 也是一个用于图像延迟加载 JavaScript.不同的是 Lazy Load 是基于 jQuery 的插件,而 Echo.js 不依赖于 jQu ...

  4. 日程管理Demo4中的bug

    Demo4的github地址 模拟器有点慢之后贴图 https://git.oschina.net/annie_guo/study.git 在登陆注册界面中java的提示语言(Login.java) ...

  5. hive 使用反射函数

    在hive中通过反射,调用java.net.URLDecoder,解码url 代码入下: select reflect('java.net.URLDecoder', 'decode',url, 'UT ...

  6. PMP:6.项目进度管理

    项目管理包括为项目管理项目按时完成所需的各个过程:

  7. 背水一战 Windows 10 (105) - 通知(Toast): 带按钮的 toast, 带输入的 toast(文本输入框,下拉选择框)

    [源码下载] 背水一战 Windows 10 (105) - 通知(Toast): 带按钮的 toast, 带输入的 toast(文本输入框,下拉选择框) 作者:webabcd 介绍背水一战 Wind ...

  8. ProgressBar 进度条开源项目总结

    在Android开发中,我们不免会遇到进度条展示的需求,以下是本人之前star的开源项目,供大家参考: 一.ArcProgressBar 开源项目地址:https://github.com/zenoT ...

  9. SpringAop实操之记录关键业务请求数据

    AOP,中文名称,切面.在不影响业务代码情况下,实现想要的功能,是个真炫酷的事. aop是个好东西,记录日志是必须的. 记录数据也一样的,那么也是可以用aop来实现的,这里借助注解一起解决问题吧. 因 ...

  10. redis info 详解

    # Server(服务器信息)redis_version:3.0.6                              #redis服务器版本redis_git_sha1:00000000   ...