Gitlab局域网服务器搭建教程
简介
Git是一个程序员必备的版本管理软件,个人使用git用本地库或者github就够了。但是当在实验室或者公司里面需要几个人一起合作开发项目时,空间限制、网速限制、人数限制、功能限制就成了很大的问题,因此在局域网搭建一个小型的git服务器是一个非常适宜的解决方案。
相比于纯命令行的git服务器,有网页客户端图形化管理界面的gitlab是git server非常好的一种选择。Gitlab是由乌克兰程序员 Dmitriy Zaporozhets 和 Valery Sizov 开发,它由 Ruby 写成。现在分成社区版(ce)和企业版(ee)两种。这两者的核心是一样的,大部分功能也是相同的,不过企业版有很好的客服支持,而社区版就自己摸索喽,详细的对比见官网:Giylab各个版本差异。
社区版的Gitlab有以下常用功能:
- CI/CD,就是任务管理
- 仓库管理:包括私人/组(内部)/公开三种仓库,
- 用户管理
- 组管理,可以管理4级权限用户
- wiki,支持markdown
- Project Issue Board,问题跟踪,bug的记录、跟踪和讨论
- Time Tracking,时间线跟踪(这个我不太懂)
- Mattermost integration,内建的聊天系统
- Git LFS,大文件存储技术
在ubuntu服务器上安装Gitlab
由于我们实验室只有ubuntu的服务器,所以这里主要介绍gitlab在Ubuntu下的搭建教程。安装前需要确定以下条件:
- 你拥有root权限
- 可以操作服务器,或者可以通过ssh登入服务器
- 配置需求
- cpu,1核可以承受100用户,2核承受500用户(推荐),4核2000用户,8核5000用户。。。。。
- 内存,512MB RAM + 1.5GB交换空间(最低配置),1GB RAM + 1GB交换空间100用户卡顿,2Gb内存100用户(推荐)。。。
- 可以联网
- 推荐的操作系统
- 建议申请一个域名,.cn的一年才70块,首年30,相信大部分实验室都用得起,而且由于服务器在实验室内部,不用备案,哈哈哈哈哈哈哈
安装过程
- 登入ssh(或者在服务器上打开终端)
- 安装依赖项
sudo apt-get update
sudo apt-get install -y curl openssh-server ca-certificates
sudo apt-get install -y postfix
- 添加安装包的地址
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
- 设置访问域名并下载安装
//有域名的
sudo EXTERNAL_URL="http://git.example.com" apt-get install gitlab-ce
//没有域名的
sudo apt-get install gitlab-ce
这里的http://git.example.com需要改成自己的申请的域名,并且需要在域名服务商那里设置解析到局域网的那个ip,如果没有域名就可以把前面那段去掉。安装过程极其缓慢,需要下载500多M的东西,百兆到户的别说话。
5. 安装过程无需干预,独立自主进行,正常安装结束时可以看到一个可爱的狐狸头:
登入界面
使用域名登入系统,没有域名的可以在本地使用http://127.0.0.1 登入,或者是哟个http://你的IP地址在其他电脑登入。首次登入需要设置root账户的密码,设置完就可以正常使用了。使用前需要先注册账号,然后就可以正常使用了,感觉和小伙伴搞起来把。
常见问题
Group项目push失败(403错误)
权限分4级,guest,develop,maintain,owner,只有maintain(主管)才可以创建新的分支,develop可以提交到分支。但是!敲黑板,master分支默认处于保护分支,不可以直接push到master分支,只能push到其他分支。
如何删除项目
由于gitlab删除项目的按钮隐藏较深,gitlab又更新频繁,网传的许多方法都是过时的,现在版本的删除方法是在项目里点setting->general->advance->remove project