GitLab 概述:
  是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的 Git 项目仓库,可通过 Web界面迚行访问公开的戒者私人项目。Ruby on Rails 是一个可以使你开发、部署、维护 web 应用程序变得简单的框架。
GitLab 拥有不 Github 类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历叱库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候迚行查找。
GitLab 中文网:https://www.gitlab.cc/installation/#centos-7 GitHub 和 GitLab 的区别:
  相同点: 二者都是基于 web 的 Git 仓库,在很大程度上 GitLab 是仿照 GitHub 来做的,它们都提供了分享开源项目的平台,为开发团队提供了存储、分享、发布和合作开发项目的中心化云存储的场所。
不同点:
  1、GitHub 如果要使用私有仓库,超过 3 个人就收费。GitLab 可以在上面创建私人的克费仓库。
  2、GitLab 让开发团队对他们的代码仓库拥有更多的控制,相比于 GitHub,它有丌少的特色:允许免费设置仓库权限;允许用户选择分享一个 project 的部分代码;允许用户设置 project 的获取权限,进一步的提升安全性;可以设置获取到团队整体的改进进度;通过 innersourcing 让不在权限范围内的人访
问不到该资源。
  总结:从代码私有性方面来看,有时公司并丌希望员工获取到全部的代码,这个时候 GitLab 无疑是更好的选择。但对于开源项目而言,GitHub 依然是代码托管的首选。
git 相关概念:
git 是一种版本控制系统,是一个命令,是一种工具
gitlib 是用于实现 git 功能的开发库
github 是一个基于 git 实现的在线代码托管仓库,包含一个网站界面,向互联网开放
gitlab 是一个基于 git 实现的在线代码仓库托管软件,一般用于在企业内部网络搭建 git 私服
注: gitlab-ce 社区版 ; gitlab-ee 是企业版,收费
1. 安装Gitlab组件:(需要最少6G内存,内存不足后期访问报502)
yum install curl policycoreutils openssh-server openssh-clients postfix -y
默认使用postfix发送邮件,关闭防火墙,启动postfix及开机自启动 2. 安装gitlab
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.2.3-ce.0.el7.x86_64.rpm(迅雷下载)
或者配置yum源,使用yum直接安装
vim /etc/yum.repos.d/gitlab.repo
[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
repo_gpgcheck=0
gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/gpg.key
yum install gitlab-ce -y
安装完成之后,修改gitlab访问地址:
vim /etc/gitlab/gitlab.rb
修改为13行:external_url 'http://192.168.0.61'
gitlab-ctl reconfigure #重新配置应用程序。修改了 gitlab 服务配置文件后,都需要执行一下这个命令。让各个服务的配置文件,重新加载一下配置文件。
gitlab-ctl status查看状态
netstat -anp | grep 80查看nginx

3. 访问gitlab:192.168.0.61
第一次登录 gitlab,需要为 root 用户修改密码,root 用户也是 gitlab 的超级管理员,输入新密码:密码长度最少8位
改完密码登录之后可关闭gitlab注册功能和注册新用户,Register注册新用户,可使用超级管理员关闭此功能
4. 管理gitlab
启动/关闭/重启/重新加载配置文件:gitlab-ctl start/stop/restart/reconfigure
gitlab主配置文件:/etc/gitlab/gitlab.rb #自定义邮件服务等
日志地址:/var/log/gitlab/ #对应服务
服务地址:/var/opt/gitlab #对应各服务的主目录
仓库地址:/var/opt/gitlab/git-data #记录项目仓库等提交信息
settings--> Sign-up restrictions-->取消打勾-->Save,即在启用注册的选项取消

5. centos 7部署汉化版 gitlab
下载最新汉化包:
git clone https://gitlab.com/xhang/gitlab.git
查看gitlab版本:rpm -qa | grep gitlab
下载对应汉化包:
git clone https://gitlab.com/xhang/gitlab.git -b v11.7.0-zh
关闭gitlab服务:gitlab-ctl stop
/usr/bin/cp -rvf /root/gitlab/* /opt/gitlab/embedded/service/gitlab-rails/ #直接把汉化好的文件替换了源文件中 gitlab-rails 下的文件。gitlab-rails 下面存放的都是 web界面相关的文件
6. 新建项目-->选择项目路劲-->项目名称-->权限
新建一个用户:设置-->新建用户-->用户名-->邮箱-->默认普通用户
编辑/etc/gitlab/gitlab.rb 文件,配置 STMP 邮件发送服务。前提你的邮件已经开通 stmp/pop3收发功能
vim /etc/gitlab/gitlab.rb #在 430 行插入
432 gitlab_rails['smtp_enable'] = true
433 gitlab_rails['smtp_address'] = "smtp.163.com"
434 gitlab_rails['smtp_port'] = 25
435 gitlab_rails['smtp_user_name'] = "xxx@163.com"
436 gitlab_rails['smtp_password'] = "自己邮箱的密码"
437 gitlab_rails['smtp_authentication'] = "login"
438 gitlab_rails['smtp_enable_starttls_auto'] = true
439 gitlab_rails['smtp_tls'] = true
440 gitlab_rails['gitlab_email_from'] = 'xxx@163.com'
设置 gitlab 开机自启
systemctl enable gitlab-runsvdir.service
systemctl restart gitlab-runsvdir.service
7. 将刚新建用户添加到群主,身份主程序员
在新建的项目中添加一个index.html文件
8. 在客户端安装git
yum install -y git
代码下载地址:http://192.168.0.61/root/apache.git
提示输入用户和密码-->查看目录apache下的文件
一般在新的系统上,我们都需要先配置下自己的 Git 工作环境。配置工作只需一次,以后升级时还会沿用现在的配置,~/.gitconfig 文件:用户目录下的配置文件只适用于该用户。若使用 git config 时用 --global 选项,读写的就是这个文件
git config --global user.name "root"
git config --global user.email "923298896@qq.com" #如遇提交代码至暂存区和gitlab服务器报错:fatal: Not a git repository (or any of the parent directories): .git可执行git init之后重新提交
cat ~/.gitconfig #上面两条命令会生成~/.gitconfig,
git常用命令:
git config --global user.name “name“ #设置全局用户名
git config --global user.email mail #设置全局邮箱
git config --global --list #列出用户全局设置
git add /root/apache/index.html #添加文件到暂存区
git commit -m “描述内容“ #提交文件到工作区
git status #查看工作区的状态
git push /root/apache/index.html #提交代码到 git 服务器上
git pull #获取代码到本地
git log #查看操作日志
vim .gitignore #定义忽略文件
git reset --hard HEAD^ #git 版本回滚, HEAD 为当前版本,加一个^为上一个,^^为上上一个版本
git reflog # #获取每次提交的 ID,可以使用--hard 根据提交的 ID 迚行版本回退
git reset --hard 5ae4b06 #回退到指定 id 的版本
git branch #查看当前所处的分支
git checkout #切换到指定分支戒标签
9. 拉去代码之后:git clone http://192.168.0.61/root/apache.git
对代码进行修改:echo "hello world" >> apache/index.html
提交代码:git push apache/index.html
提交代码至暂存区:git commit -m "修改代码"-->提交代码-->git push apache/index.html-->删除代码-->回滚到最新版本-->git reset --hard HEAD
创建一个新的分支:git branch bbs-->切换到新的分支,进行代码管理-->git checkout bbs-->查看当前所在分支-->git branch-->新建一个a.txt文件-->提交至暂存区,提交代码 git push -u origin bbs-->切换到主分支-->git checkout master-->将bbs分支的代码合并到master-->git merge bbs-->ls apache/查看-->提交代码到git服务器-->git push

centos 7安装gitlab及使用的更多相关文章

  1. 1、CentOS 6 安装GitLab

    1.安装和配置必需的依赖项 在CentOS上将系统防火墙打开HTTP和SSH访问. sudo yum install -y curl policycoreutils-python openssh-se ...

  2. CentOS 7 安装GitLab

    CentOS 安装GitLab CentOS 安装GitLab GitLab是一个利用Ruby on Rails开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私 ...

  3. CentOS 7安装GitLab 11.4.5

    安装GitLab没必要像网上说的配置那么复杂,也不要自行编译安装,直接使用Omnibus版本即可,也就是综合安装包,注意如下几点: 1.不需要替换Nginx,直接使用GitLab的原生集成,同时这种方 ...

  4. CentOS下安装Gitlab

    环境 Requirements 软件 版本 CentOS 6.6 Python 2.6 Ruby 2.1.5 Git 1.7.10+ Redis 2.0+ MySQL   GitLab 7-8-sta ...

  5. CentOS 6安装Gitlab

    1. 保证CentOS 6能连接网络 . 2.安装依赖: sudo yum install -y curl policycoreutils-python openssh-server cronie s ...

  6. Centos中安装gitlab

    安装依赖: sudo yum install curl openssh-server openssh-clients postfix cronie sudo service postfix start ...

  7. CentOS 7安装GitLab、汉化、配置邮件发送

    1.更换国内yum源 1.1 备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 1.2 ...

  8. 在CentOS上安装GITLAB

    为什么要用gitlab? 方便地管理项目,设置用户权限. 参考 https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md 步 ...

  9. CentOS 7安装Gitlab时报错:undefined method `downcase' for nil:NilClass

    说明:其实这事怪我,我把系统的某些配置改了. 首先分析这个错误出现的位置在这个文件: /opt/gitlab/embedded/cookbooks/cache/cookbooks/package/li ...

随机推荐

  1. 挖矿病毒分析(centos7)

    因为我在工作的时候被各种挖矿病毒搞过几次,所以在这里整理下我遇到的病毒以及大神们的解决方案. 服务器中挖矿病毒后,最基本的一个特征就是CPU使用率瞬间飙升,此时可以通过top命令进行查看,确认是否有异 ...

  2. Java学习day39

    类加载的作用:将class文件字节码内容加载到内存中,并将这些静态数据转换成方法区的运行时数据结构,然后在堆中生成一个代表这个类的java.lang.Class对象,作为方法区中类数据的访问入口. 类 ...

  3. 3.SRE.操作手册:基础篇

    SRE的根基起码应该包括:SLO.监控.告警.减少琐事和简单化. SLO(服务质量目标):用于描述服务可靠性的程度. SRE的职责并不只是将"所有工作"都自动化,并保持" ...

  4. js字符串操作方法集合

    1.字符方法: str.charAt(): 可以访问字符串中特定的字符,可以接受0至字符串长度-1的数字作为参数,返回该位置下的字符,如果参数超出该范围,返回空字符串,如果没有参数,返回位置为0的字符 ...

  5. [AcWing 788] 逆序对的数量

    点击查看代码 #include<iostream> using namespace std; typedef long long ll; const int N = 1e5 + 10; i ...

  6. 超详干货!Linux 环境变量配置全攻略

    点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! Linux环境变量配置 在自定义安装软件的时候,经常需要 ...

  7. 论文阅读 Dynamic Graph Representation Learning Via Self-Attention Networks

    4 Dynamic Graph Representation Learning Via Self-Attention Networks link:https://arxiv.org/abs/1812. ...

  8. 最佳案例 | QQ 相册云原生容器化之路

    关于我们 更多关于云原生的案例和知识,可关注同名[腾讯云原生]公众号~ 福利: ①公众号后台回复[手册],可获得<腾讯云原生路线图手册>&<腾讯云原生最佳实践>~ ②公 ...

  9. 羽夏 Bash 简明教程(下)

    写在前面   该文章根据 the unix workbench 中的 Bash Programming 进行汉化处理并作出自己的整理,并参考 Bash 脚本教程 和 BashPitfalls 相关内容 ...

  10. Spring Boot配置全局异常捕获

    1 SpringBoot配置全局的异常捕获 项目的说明 配置thymeleaf作为视图模板 ExceptionController.java模拟测试用 MyAjaxExceptionHandler.j ...