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 "admin@example.com"

提交代码
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系统中,执行:

[root@xuegod63 ~]#  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需要的组件:

[root@xuegod63 ~]# mv /etc/yum.repos.d/CentOS-* /opt/

[root@xuegod63 ~]#yum install curl policycoreutils openssh-server openssh-clients postfix  -y

默认,使用 Postfix 发送邮件

[root@xuegod63 ~]#systemctl enable postfix 

[root@xuegod63 ~]#systemctl start postfix

[root@xuegod63 ~]# iptables -F  #清空规则

[root@xuegod63 ~]# systemctl stop firewalld

[root@xuegod63 ~]# systemctl disable firewalld

 

14.2.2  安装gitlab:

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

[root@xuegod63 ~]# rpm -ivh gitlab-ce-10.2.3-ce.0.el7.x86_64.rpm

 

配置并启动GitLab

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

 

 

[root@xuegod63 ~]# 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

 

[root@xuegod63 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错误,因为内存不足会导致很卡,从而响应超时。

 

 

解决:

[root@xuegod63 ~]# iptables -F   #清空规则

[root@xuegod63 ~]# 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是安装到:

[root@xuegod63 ~]# ls /opt/gitlab/

 

 

[root@xuegod63 ~]# 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:

[root@xuegod63 ~]# gitlab-ctl restart

到此gitlab已经安装成功。

 

14.2.5  实战: centos7 部署 汉化版 gitlab

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

 

[root@xuegod63 ~]# tar zxvf gitlab-patch-zh.tat.gz

 

方法2:从外网下载

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

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

 

1、停止gitlab服务

[root@xuegod63 ~]# gitlab-ctl stop

 

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

cd /root/gitlab

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

[root@xuegod63 gitlab]# git  diff  v10.2.3  v10.2.3-zh  > ../10.2.3-zh.diff

 

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

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

[root@xuegod63 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的密码

登录邮件:jianmingbasic@163.com

 

点开设置自己的初始密码:密码必须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协议进行下载:

 

[root@xuegod63 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://jianmingbasic@192.168.1.63': xuegod.cn  #输入密码

查看下载下来的文件:

[root@xuegod63 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

上一篇:Mysql多实例运行


下一篇:Linux基本操作