git gitlab

gitlab 搭建

yum install -y curl policycoreutils-python openssh-server postfix
systemctl enable postfix
systemctl start postfix
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
yum install -y gitlab-ce
gitlab-ctl reconfigure
gitlab-ctl status
查看安装位置
rpm -pql gitlub

vim /etc/gitlab/gitlab.rb
external_url ‘http://192.168.177.139‘
gitlab-ctl restart

登录后要修改密码,不少于8位

Command line instructions
You can also upload existing files from your computer using the instructions below.

Git global setup
git config --global user.name "Administrator"
git config --global user.email "[email protected]"

提交代码
Create a new repository
git clone http://gitlab.example.com/root/developer-1.git
cd developer-1
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

Push an existing folder
cd existing_folder
git init
git remote add origin http://gitlab.example.com/root/developer-1.git
git add .
git commit -m "Initial commit"
git push -u origin master

Push an existing Git repository
cd existing_repo
git remote rename origin old-origin
git remote add origin http://gitlab.example.com/root/developer-1.git
git push -u origin --all
git push -u origin --tags

git
yum -y install gcc openssl openssl-devel curl curl-devel unzip perl perl-devel expat expat-devel zlib zlib-devel asciidoc xmlto gettext-devel openssh-clients
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz

useradd -r -s /bin/bash -d /home/git git
mkdir /home/git
chown git:git /home/git/ -R

tar xf git-2.9.5.tar.xz
cd git-2.9.5
./configure --prefix=/usr/local/git --with-openssl --with-libpcre
make -j 2 && make -j 2 install

echo "export PATH=/usr/local/git/bin/:$PATH" > /etc/profile.d/git.sh
source !$

cat /etc/passwd  将/bin/bash改为如下
git:x:496:496::/home/git:/usr/local/git/bin/git-shell

cd /usr/local/git/share
ln -sv man/ /usr/share/

git --version

实战:为企业搭建Gitlab软件版本管理服务器

 

 

前期准备:

1、把物理内存调到6G,不然后安装时,会内存太低报错。

2、提前上传到gitlab-ce-10.2.3-ce.0.el7.x86_64.rpm 上传到linux系统中,执行:

[[email protected] ~]#  rpm -ivh gitlab-ce-10.2.3-ce.0.el7.x86_64.rpm    #安装的时间太长

3、把下载好的git汉化补丁gitlab-patch-zh.tat.gz  上传到linux

 

本节所讲内容:

14.1  gitlab概述

14.2  搭建GitLab平台及使用方法

14.3  在centos7 部署汉化版gitlab

14.3  安装git客户端使用gitlab

14.4  实战:使用gitlab管理网站源代码

14.1  Gitlab概述

14.1.1   Gitlab概述

GitLab概述:

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

Ruby on Rails 是一个可以使你开发、部署、维护 web 应用程序变得简单的框架。

GitLab拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

 

GitLab官网:https://about.gitlab.com/

 

Github概述:gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub。

官网:https://github.com/

 

例:

gitlab 例1: https://gitlab.com/xhang/gitlab.git   

github例2:https://github.com/pld-linux/extundelete

 

14.1.3  GitLabGitHub的区别

GitLabGitHub的区别是什么?  不会: 1  会 :6

 

相同点: 二者都是基于web的Git仓库,在很大程度上GitLab是仿照GitHub来做的,它们都提供了分享开源项目的平台,为开发团队提供了存储、分享、发布和合作开发项目的中心化云存储的场所。

不同点:

1、GitHub如果要使用私有仓库,是需要付费的。GitLab可以在上面创建私人的免费仓库。

2、GitLab让开发团队对他们的代码仓库拥有更多的控制,相比于GitHub,它有不少的特色:允许免费设置仓库权限;允许用户选择分享一个project的部分代码;允许用户设置project的获取权限,进一步的提升安全性;可以设置获取到团队整体的改进进度;通过innersourcing让不在权限范围内的人访问不到该资源。

从代码私有性方面来看,有时公司并不希望员工获取到全部的代码,这个时候GitLab无疑是更好的选择。但对于开源项目而言,GitHub依然是代码托管的首选。

 

git相关概念:

git是一种版本控制系统,是一个命令,是一种工具

gitlib是用于实现git功能的开发库

github是一个基于git实现的在线代码托管仓库,包含一个网站界面,向互联网开放

gitlab是一个基于git实现的在线代码仓库托管软件,一般用于在企业内网搭建git私服

注: gitlab-ce 社区版  gitlab-ee是企业版,收费

 

14.2  搭建GitLab平台

实验环境: centos7.4   虚拟机需要6G,不然后期运行时,内存不够用,直接报错。

14.2.1  安装Gitlab需要的组件:

[[email protected] ~]# mv /etc/yum.repos.d/CentOS-* /opt/

[[email protected] ~]#yum install curl policycoreutils openssh-server openssh-clients postfix  -y

默认,使用 Postfix 发送邮件

[[email protected] ~]#systemctl enable postfix 

[[email protected] ~]#systemctl start postfix

[[email protected] ~]# iptables -F  #清空规则

[[email protected] ~]# systemctl stop firewalld

[[email protected] ~]# systemctl disable firewalld

 

14.2.2  安装gitlab:

将下载的软件包gitlab-ce-10.2.3-ce.0.el7.x86_64.rpm 上传到linux系统中。

[[email protected] ~]# rpm -ivh gitlab-ce-10.2.3-ce.0.el7.x86_64.rpm

 

配置并启动GitLab

[[email protected] ~]# gitlab-ctl reconfigure  #重新配置应用程序。相当于初始化一下

 

 

[[email protected] ~]# gitlab-ctl status   

#可以使用gitlab-ctl管理gitlab,例如查看gitlab状态:

run: gitlab-workhorse: (pid 3275) 169s; run: log: (pid 3151) 280s

run: logrotate: (pid 3169) 273s; run: log: (pid 3168) 273s

run: nginx: (pid 3157) 279s; run: log: (pid 3156) 279s

run: postgresql: (pid 3009) 349s; run: log: (pid 3008) 349s

run: redis: (pid 2926) 360s; run: log: (pid 2925) 360s

run: sidekiq: (pid 3142) 287s; run: log: (pid 3141) 287s

run: unicorn: (pid 3110) 293s; run: log: (pid 3109) 293s

 

[[email protected] config]# netstat  -antup | grep  :80

tcp        0      0 127.0.0.1:8080          0.0.0.0:*           LISTEN      10864/unicorn maste

tcp        0      0 0.0.0.0:80              0.0.0.0:*            LISTEN      10729/nginx: master

到此gitlab已经安装成功!!!

默认使用nginx做为web服务器。

 

访问: http://192.168.1.63  #第一次打开,稍慢一些

排错:安装好gitlab后,报以下错误:

 

注:如果后期web界面访问时,总报502,要把防火墙清空规则,另外内存要大于4G,不然后内存不足,也报502错误,因为内存不足会导致很卡,从而响应超时。

 

 

解决:

[[email protected] ~]# iptables -F   #清空规则

[[email protected] ~]# free  -m   #已经使用4G以上内存

              total        used        free      shared  buff/cache   available

Mem:        5817        4187         133          80        1496        1198

 

 

14.2.3  登录gitlab

http://192.168.1.63/users/sign_in   用户:root 密码: xuegod.cn
      第一次登录gitlab,需要为root用户修改密码,root用户也是gitlab的超级管理员,输入新密码:xuegod.cn  

 

 

登录成功。到此gitlab搭建成功了。

 

 

14.2.4  管理gitlab

关闭gitlab: # gitlab-ctl stop

启动gitlab: # gitlab-ctl start

重启gitlab: # gitlab-ctl restart

最终,gitlab是安装到:

[[email protected] ~]# ls /opt/gitlab/

 

 

[[email protected] ~]# vim /etc/gitlab/gitlab.rb   #修改gitlab外部访问地址

改:13 external_url ‘http://gitlab.example.com‘

为:13 external_url ‘http://192.168.1.63‘
注:这里必须修改,不然后后期访问时,用户到地址是:http://gitlab.example.com/xxxx ,根本不能访问。 修改后获得是: http://192.168.1.63/xxxx

重启gitlab:

[[email protected] ~]# gitlab-ctl restart

到此gitlab已经安装成功。

 

14.2.5  实战: centos7 部署 汉化版 gitlab

把下载好的git汉化补丁gitlab-patch-zh.tat.gz  上传到linux

 

[[email protected] ~]# tar zxvf gitlab-patch-zh.tat.gz

 

方法2:从外网下载

[[email protected] ~]#git clone https://gitlab.com/xhang/gitlab.git   #下载汉化补丁

[[email protected] ~]# cat /root/gitlab/VERSION  #查看该汉化补丁的版本,而我安装的也是10.2.3版本。

 

1、停止gitlab服务

[[email protected] ~]# gitlab-ctl stop

 

2、切换到gitlab汉化包所在的目录(即步骤二获取的汉化版gitlab)

cd /root/gitlab

3、 比较原版本号和汉化版本之前的区别,并把有区别的文件导出到/root下

[[email protected] gitlab]# git  diff  v10.2.3  v10.2.3-zh  > ../10.2.3-zh.diff

 

 4、 将10.2.3-zh.diff作为补丁更新到gitlab中

[[email protected] gitlab]# patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < /root/10.2.3-zh.diff      #这个目录下存储着关于web前端相关的页面

[[email protected] gitlab]# gitlab-ctl restart    #重启服务

5、登录汉化版本:

http://192.168.1.63/

 

 

 

14.2.6  实战:使用gitlab管理网站源代码

一、新建项目

二、创建用户

三、重置用户密码

四、删除用户

 

一、新建项目

1、新建项目前,先创建项目所在的组(也就是说这个项目文件是保存在哪个组里)

选择Admin area

 

2、选择Groups——New Group

http://192.168.1.63/projects/new

 

 

 

4、选择Create New Projcet ,然后在输入项目名称,同时在namespace里选择刚才创建的组

www.xuegod.cn  web 代码

 

 

 

 

二、创建用户

1、选择Admin area

 

2、选择Users——New User

 

3、其中Name为对方的中文名,Username是登录用户名,一般可以设置成邮箱的前缀,Email为公司邮箱

 

 

5、项目现在默认即可,创建一个普通用户。

7、信息输入完成后,选择Create user。 基本资料可以不用写。
C:\Users\shen\Desktop\test\mp4box-Linux下合并两个mp4文件  下有我头像照片

 

 

三、重置新创建的用户jianmingbasic的密码

登录邮件:[email protected]

 

点开设置自己的初始密码:密码必须8位以一上。我这里是: 1273815479

 

生成密码后,登录:

 

 

 

方法2: 修改密码

1、选择Admin area -》用户-》选中用户-》编辑

 

设置新的密码是: xuegod.cn

 

点保存后。

 

4、使用jianmingbasic登录http://192.168.1.63/  时, 还会弹出修改密码选项:

 

 

四、删除用户

当对方离职时候,为了安全起见,需要删除对方的gitlab权限,避免机密信息丢失,操作方法如下:

1、选择Admin area ,选择User删除用户 。 我们这里

 

 

五、在项目中添加一个文件index.html 。

http://192.168.1.63/xuegod/xuegod-web   以root帐号登录

 

 

 

14.3  安装git客户端使用gitlab

14.3.1  安装git并clone代码

# yum install git  -y

# git clone http://192.168.1.63/xuegod/xuegod-web.git     #下载地址,可以从这里获得

 

 

也可以使用http协议进行下载:

 

[[email protected] test]# git clone http://192.168.1.63/xuegod/xuegod-web.git

正克隆到 ‘xuegod-web‘...

Username for ‘http://192.168.1.63‘: jianmingbasic              #输入gitlab的帐号

Password for ‘http://[email protected]‘: xuegod.cn  #输入密码

查看下载下来的文件:

[[email protected] test]# ls xuegod-web/ -a

.  ..  .git  index.html

 

 

总结:

14.1  gitlab概述

14.2  搭建GitLab平台及使用方法

14.3  在centos7 部署汉化版gitlab

14.3  安装git客户端使用gitlab

14.4  实战:使用gitlab管理网站源代码

 

windows客户端下载: https://git-scm.com/downloads

原文地址:https://www.cnblogs.com/carl007/p/11367416.html

时间: 2024-08-01 04:50:41

git gitlab的相关文章

Git &amp; GitLab 使用及规范

Git & GitLab 使用及规范 Git安装配置及基本使用 从官网下载安装包,手动完成安装. 打开Git Bash命令行工具,执行命令ssh-keygen -t rsa -C Email-Addresss生成一个密钥对. 登录到GitLab,点击右上角你的用户头像,点击Edit Profile settings,点击SSH Keys,点击Add SSH Key,填写Title栏,复制用户目录下.ssh/id_rsa.pub文件的内容到Key,点击Add Key. 点击右上角的New proj

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

前言 在之前已经写了关于Git,Gitlab以及Ansible的两篇博客<Git+Gitlab+Ansible剧本实现一键部署Nginx--技术流ken>,<Git+Gitlab+Ansible剧本实现一键部署动态网站(二)--技术流ken>,以及关于jenkins的简单使用<Jenkins持续集成介绍及插件安装版本更新演示(一)--技术流ken>.相信大家也已经完全掌握了这三项工具的使用,也可以使用这几项工具可以部署静态以及动态网站了. 以前的博客可以实现一键部署网站

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

项目前言 在上一篇博客<Jenkins+Git+Gitlab+Ansible实现持续化集成一键部署静态网站(一)--技术流ken>中已经详细讲解了如何使用这四个工具来持续集成自动化部署一个静态的网站. 如果大家可以熟练掌握以上内容,势必会在工作中减轻不小的工作量. 本篇博客将再次使用这四个工具结合freestyle和pipeline来完成动态网站的部署. 为了拓宽知识点,本篇博客将使用jenkins的两种常用方法来进行部署,如果你对pipeline还不熟悉,请参考我之前的博客<Jenki

Git Manual / Git使用手册 / Git, GitLab, Git Bash, TortoiseGit

Git使用手册 目录 1     引言 2     Git.GitLab简介 2.1      Git 2.2      GitLab 2.3      Git基本概念 3     运行环境 4     基本操作 4.1      安装Git 4.2      使用GitLab服务器上的帐号 4.2.1      常见页面 4.2.2      设置头像 4.2.3      设置SSH Keys 4.2.4      新建项目 4.2.5      合并请求 4.3      使用Git Ba

快速上手git gitlab协同合作

简单记录,整理. 摘要 为方便大家快速上手Git,并使用Gitlab协同合作,特编写此手册,手册内容不会太丰富与深入.主要包含如下内容: Git 使用教程1.1 安装1.2 常用命令1.3 版本控制1.4 分支与tag Gitlab 使用教程2.1 界面简介2.2 常用功能介绍2.3 注意事项 多人协作流程与规范3.1 永久与临时分支3.2 工作流图3.3 规范 Code Review4.1 为什么要有Code Review4.2 如何进行? 参考资料 后续会加入CI,自动部署等. 1. git

Git &amp; Gitlab 使用指南

2016-02-23   |   9,129字   |   分类于 工具  |   3条评论 去年小组在从 SVN 和 TFS 迁移到 Git 的过程中整理了这份文档,面向的用户是对 Git 和 SVN 可能都不是很了解的人.看到自己写了这么多,于是就拿出来分享下,有些东西可能写得比较浅,有错误还请指正. 1. 关于 Git 你应该知道的东西 Git 是一个分布式版本控制系统.分布式的意思是,每个人电脑上都是一份完整的代码库,包含了所有的代码提交历史.由于 Git 分布式的特点,在没有网络的情况

Idea + Git + GitLab 使用

首先去下载Git,https://git-scm.com/ 安装好之后,打开Idea--->Settings,,,设置Git路径,然后点击Test按钮 然后是GitLab,一般企业内部开发都会有个私服服务器.服务器地址找你们组的相关人员要.一般为http://gitlab.XXXXXXX.com/这种格式,先去注册 注册完之后,让你们公司相关人员开放权限.给你开放权限之后你才能看到你需要负责的项目.利用邮箱,密码登录.登录进来之后大概是这样子: 有一个与你相关的项目列表.选择其中一个,点击后 复

Git &amp; Gitlab版本控制系统

常见版本管理工具 SVN 集中式的版本控制系统,只有一个中央数据仓库,如果中央数据仓库挂了或者不可访问,所有的使用者无法使用SVN.无法进行提交或备份文件. Git 分布式的版本控制系统,在每个使用者电脑上就有一个完整的数据仓库,没有网络依然可以使用Git.当然为了习惯及团队协作,会将本地数据同步到Git服务器或者GitHub等代码仓库. Git与SVN的区别 1.GIT是分布式的,SVN不是:这是GIT和其它非分布式的版本控制系统,例如SVN,cVS等,最核心的区别. 2.GIT把内容按元数据

git gitlab 使用 提交代码解决冲突

1.更改完代码后,git push 发生错误 注: 此时,使用 git pull: 更新代码,git 会自动merge不同的更新, a.  如果git 自动merge成功,再进行 git push操作就会成功. b.  如果git 自动merge失败,使用git status可以查看哪个文件 merge失败,需要手动修改冲突地方,再进行git add git commit操作,之后再git push But,这种方法提交后,就会在提交记录里显示 merge: ******************