一、gitlab介绍

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。GitLab由乌克兰程序员DmitriyZaporozhets和ValerySizov开发,它由Ruby语言写成。后来,部分代码用Go语言重写,现今在国内外大中型互联网公司广泛使用。 git、gitlab、GitHub的区别如下: git 是一种基于命令的版本控制系统,全命令操作,没有可视化界面。 gitlab 是一个基于git实现的在线代码仓库软件,提供web可视化管理界面,通常用于企业团队内部协作开发。 github 是一个基于git实现的在线代码托管仓库,亦提供可视化管理界面,同时提供免费账户和付费账户,提供开放和私有的仓库,大部分的开源项目都选择github作为代码托管仓库。

二、部署环境

1、关闭 selinux

sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
sed -i 's/SELINUXTYPE=targeted/#&/' /etc/selinux/config
setenforce 0

2、设置时区 timedatectl set-timezone Asia/Shanghai 3、安装需要用到的工具及软件 yum -y install vim bash-completion wget curl policycoreutils-python

三、安装部署gitlab

1、配置防火墙允许http服务

firewall-cmd --permanent --add-service=http
systemctl reload firewalld

2、安装postfix

yum -y install postfix
systemctl enable postfix
systemctl start postfix

3、添加GitLab包存储库并安装gitlab 注:我这里安装的是gitlab-ee(企业版),如果要安装gitlab-ce(社区版),请将下面命令中gitlab-ee替换为gitlab-ce。

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | bash
EXTERNAL_URL="http://192.168.2.220" yum install -y gitlab-ee

4、将存储仓库修改为非系统盘 vim /etc/gitlab/gitlab.rb

git_data_dirs({
  "default" => {
    "path" => "/data/git-data"
   }
})

5、重启gitlab

gitlab-ctl stop
gitlab-ctl reconfigure
gitlab-ctl start

6、登陆web页面配置gitlab 浏览器访问http://192.168.2.220 出现如下页面,设置root(管理员)用户密码 然后使用root用户登陆

四、gitlab使用

1、Gitlab账号注册 浏览器访问 http://192.168.2.220 会出现如下页面,点击Register 2、创建group  在创建project之前,可先创建一个组 3、创建project 在上面创建的组下新建一个project Clone下拉框里的两个地址,就是git的远程仓库地址。 4、往组里添加用户 注:添加用户到组里只能使用root用户操作 5、设置project的保护分支 使用之前创建ceshi这个project的用户登陆 选择Developers+Maintainers,即开发者和维护者有合并和推送的权限。

五、安装git客户端

1、下载git客户端工具 需要下载下图中的三个软件 2、安装Git工具 双击Git-2.22.0-64-bit.exe,如果出现“你要允许此应用对你的设备进行更改吗?”,请点击“是”。然后一路Next(下一步),直到安装完成即可。 3、 安装git客户端 双击TortoiseGit-2.8.0.0-64bit.msi,一路点击Next(下一步)。 出现下图页面时,可先操作1.1.4步骤,安装语言包,然后这里选择中文(简体)。 也可以选择English(英文),等安装完后再选择语言。 出现下图界面时,可以点击Check now,检查git.exe路径是否正确,出现git版本号表示git.exe路径正确。 git.exe路径为C:\Program Files\Git\bin,如果默认没有显示git.exe的路径,可以手动填上去,然后再Check now检查一下。 然后输入Full name和邮箱 点击“完成”,git客户端工具安装完成。 4、安装git语言包 双击TortoiseGit-LanguagePack-2.8.0.0-64bit-zh_CN.msi,安装中文语言包。 如果出现“你要允许此应用对你的设备进行更改吗?”,请点击“是”。 点击”下一步“,安装完成。 5、将git客户端语言修改为中文 任意目录下,在空白的地方右击,选择TortoiseGit→Settings

六、git客户端使用

Git使用有两种方式,http和ssh。 1、http方式 URL地址:http://192.168.2.220/ceshi/ceshi.git 在本地创建一个空文件夹,然后右击选择“Git 克隆...” 第一次克隆(clone)时需要输入gitlab的用户名和密码 此时可自己新建一个文件进行测试,流程为拉取→添加→提交→Push 2、ssh方式 在任意目录下右击空白地方,选择“Git Bash Here”,打开git命令行窗口 初始化git全局配置

git config --global user.name "Full name"
git config --global user.email "你的邮箱"

创建SSH密钥对

ssh-keygen -t ed25519 -C "你的邮箱"

3个:号的地方直接回车,不要输入任何内容 然后将git命令行窗口关掉 密钥存放在你的用户目录下的.ssh目录下,比如:C:\Users\xuad.ssh 打开公钥文件,将内容全部复制到gitlab上你的ssh keys里保存。 浏览器访问http://192.168.2.220 登陆gitlab,右上角用户下拉菜单选择“Settings”,然后点击“SSH Keys” 在本地创建一个空文件夹,然后右击选择“Git 克隆...” 其他的操作跟http的方式都一样。