一:前言
前两天在弄钉钉接口的机器人,发现了有github机器人,而且配置超级简单,只需要定义一个入口,当你提交后,后台会自动发送 request、payload,调用git机器人发送钉钉消息。
然后就想着自己搭建一个gitlab能否实现此功能,于是就说做就做;
将自己实际搭建过程和大家分享一下。(来自官网)
官网 https://about.gitlab.com/downloads/
二:"git" 家族的成员
首先解决一个容易混淆的问题,我也经常搞混:
git | 是一种版本控制系统,是一个命令,是一种工具 |
gitlib | 是用于实现git功能的开发库 |
github | 是一个基于git实现的在线代码托管仓库,包含一个网站界面,向互联网开放 |
gitlab | 是一个基于git实现的在线代码仓库托管软件,你可以用gitlab自己搭建一个类似于github一样的系统,一般用于在企业、学校等内部网络搭建git私服 |
三:官方推荐安装(rpm、yum)
1、安装依赖包
yum install curl policycoreutils openssh-server openssh-clients
systemctl enable sshd && systemctl start sshd
yum install postfix
systemctl enable postfix && systemctl start postfix
firewall-cmd --permanent --add-service=http //永久设置http服务开放
systemctl reload firewalld
2、安装 gitlab-ce 社区版 (yum方式,ee是企业版,收费)
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh |sudo bash
--------------------------------------------------------------------------------------
2、安装 gitlab-ce 社区版(rpm包安装方式)
wget https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-XXX.rpm/download
rpm -i gitlab-ce-XXX.rpm
--------------------------------------------------------------------------------------
3、配置并开启 gitlab
gitlab-ctl reconfigure //此时会输入如下很多信息,并启动好多服务
4、测试访问
首次登陆会跳出设置密码的界面,设置完后自动跳转到登录界面,默认用户名root。
登陆进去后,可以更改用户名、密码等。
初始登入时,总报502,也没有防火墙,经检查是内存不足,我是1G。
5、说明
缺点:这种方式虽然说简单方便,但是定制型很差,默认只能使用postgre和nginx
主配置文件:/etc/gitlab/gitlab.rb //可以自定义一些邮件服务等
日志地址:/var/log/gitlab/ // 对应各服务
服务地址:/var/opt/gitlab/ // 对应各服务的主目录
仓库地址:/var/opt/gitlab/git-data //记录项目仓库等提交信息
重置配置:gitlab-ctl reconfigure //不要乱用,会重置为最原始的配置的
重启服务:gitlab-ctl stop/start/restart //启动命令
默认安装:postgres、nginx、redis、unicorn ......
6、配置(就是点点点,熟悉熟悉这个应用)
a、创建一个项目组groups,生成路径/var/opt/gitlab/git-data/repositories/;
b、创建一个仓库,可用三种方式链接,新的仓库、已存在的文件夹、已存在的仓库;
创建时可导入 github、gitlab、googlecode 等其他地方的仓库,需要对方token
c、根据下图路径及提示,创建用户、不加入或加入项目组或者项目或项目子组;
该用户在此界面上面 Users 中设置密码后登录,根据得到的链接地址 git 到仓库
当然把你这台机器上的公钥拷到 seting -> ssh key 即可省去输入如密码一项
d、你的每次提交都会有记录在服务端 该组或该用户所在repositories中。