简介
GitLab是一个可以与Git相结合的开源项目,用于代码仓库管理等。它有社区版本(Community Edition)和企业版本(Enterprise Edition),可以部署在公司的内网。这点对于保密性有要求的项目非常合适。目前集成有如下功能:
- Repository access
- Administration
- Issues
- Forks
- Code review
- Wiki
- Merge Requests
- Web Editor
部署
这里的部署环境是在Ubuntu 16.04 LTS下,部署的是社区版本(Community Edition),版本号为8.16.4 - f32ee82,输入如下命令下载部署环境检查脚本:
1 | cd /tmp |
运行脚本:
1 | sudo bash /tmp/script.deb.sh |
脚本主要的工作是检查一些需要的软件是否已经安装,操作系统进行更新,可以使用命令vim script.deb.sh
打开脚本,查看脚本都做了哪些工作。运行如下命令安装GitLab Community Edition:
1 | sudo apt-get install -y gitlab-ce |
安装包大概200多MB。通过apt安装时,下载非常慢,直接到GitLab社区版的下载页面下载即可。如果网速还是很慢,比如这里使用uGet下载速度只有几十KB,而GitLab的安装文件是托管在Amazon S3平台上的,Amazon S3对授权的Key有超时机制,超过一定时间会自动断开并拒绝再提供服务,如果没有在规定的时间内下载完毕,就必须重头再来,所以网速较慢的用户下载大文件是很难的(不太可能下载成功),解决此问题,则可以到国内的镜像站点下载安装文件,Amazon的下载URL类似如下:
1 | https://packages-gitlab-com.s3-accelerate.amazonaws.com/7/8/ubuntu/package_files/14274.deb?AWSAccessKeyId=AKIAJ74R7IHMTQVGFCEA&Signature=PFBjoOo8UDznbVKds3XUmVnpaCY%3D&Expires=1486519796 |
首先信任GitLab的GPG公钥:
1 | curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null |
在目录/etc/apt/sources.list.d
目录下的文件gitlab_gitlab-ce.list中,修改安装的源为清华大学的开源镜像源,注意不同的发行版本写法有细微的区别,这里是Ubuntu 16.04 LTS版本的写法,可以参考这里:
1 | deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xenial main |
修改后的文件内容为:
1 | this file was generated by packages.gitlab.com for |
输入如下命令安装GitLab Community Edition:
1 | sudo apt update |
此时下载速度基本在300KB以上。安装完毕后,输入如下命令配置GitLab:
1 | sudo gitlab-ctl reconfigure |
GitLab默认使用的是80端口,但是在自己的机器上,80端已经被Nginx占用,所以需要修改GitLab的默认端口。使用如下命令修改:
1 | sudo vim /etc/gitlab/gitlab.rb |
这里GitLab的端口修改为8081,如下片段所示:
1 | # GitLab URL |
修改后运行sudo gitlab-ctl reconfigure
命令使之生效。除了这个端口外,还有一个unicorn用的端口,默认是8080,如果8080端口被其他程序占用(在自己的机器上,8080端口被Jenkins占用了)。那么unicorn就会无法启动,显示为502错误,”GitLab is not responding”。如下片段所示:
1 | Whoops, GitLab is taking too much time to respond. |
还是在/etc/gitlab/gitlab.rb
文件中,将端口修改为8082,如下片段所示。
1 | unicorn['port'] = 8082 |
再次运行配置文件生效命令。访问地址http://hldev-100:8081
即可。首页如下图所示:
账号设置
GitLab默认的账号如下:
1 | Username: root |
首次登录时需要修改密码。
参考资料:
How To Install and Configure GitLab on Ubuntu 16.04