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 GitLab和GitHub的区别
GitLab和GitHub的区别是什么? 不会: 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
来源:oschina
链接:https://my.oschina.net/u/4360213/blog/3427653