官方文档:
https://about.gitlab.com/downloads/#centos7
1.安装和配置依赖:
sudo yum install curl policycoreutils openssh-server openssh-clients
sudo systemctl enable sshd
sudo systemctl start sshd
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld
2.下载gitlab包:
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo yum install gitlab-ce
或者想要某个确定的版本
sudo yum install gitlab-ce-7.12.0~omnibus-1.x86_64
这里要求输入一个git的package的时候,在官网找一个名字就行。
https://packages.gitlab.com/gitlab/gitlab-ce
3.修改external_url:
因为默认的是localhost的80端口,但是很多时候都会被占用,在浏览器中访问GitLab出现502错误时,
所以打开 /etc/gitlab/gitlab.rb ,搜索external_url,修改为 external_url 'http://ip地址:端口号'
除了 80 端口外,还有一个unicorn用的端口,默认是8080,如果8080端口被其他程序占用。那么unicorn就会无法启动,显示为502错误,”GitLab is not responding”。
解决办法:修改 /etc/gitlab/gitlab.rb
unicorn['listen']='127.0.0.1'
unicorn['port']=8081
修改完配置文件后都要重启一下gitlab的服务:sudo gitlab-ctl reconfigure
4.编译运行:
sudo gitlab-ctl reconfigure
如果没有报错,最后提示类似下面的,就算是成功了:
Running handlers complete
Chef Client finished
如果报错了,Gitlab 默认的日志文件存放在/var/log/gitlab/reconfigure 目录下,可以看一下具体的错误信息。
ERROR: execute[semodule -i /opt/gitlab/embedded/selinux/rhel/7/gitlab-7.2.0-ssh-keygen.pp] (gitlab::selinux line 20) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '127'
---- Begin output of semodule -i /opt/gitlab/embedded/selinux/rhel/7/gitlab-7.2.0-ssh-keygen.pp ----
解决方案:sudo yum install libsemanage-static libsemanage-devel
然后重启:sudo gitlab-ctl reconfigure
然后就可以输入之前配置的external_url的ip地址:端口号来登录了,账号默认是root,第一次登录会要求输入密码,写一个自己心仪的密码就好。
5.gitlab 常用命令
gitlab-ctl start
gitlab-ctl stop
gitlab-ctl status
gitlab-ctl restart
gitlab-ctl tail #查看所有日志
gitlab-ctl tail nginx/gitlab_access.log #查看nginx访问日志
注:调用gitlab-ctl start的时候
错误:warning: Insecure world writable dir /usr/local/mysql/bin in PATH, mode 040777。
提示含义:
目录被赋予777的权限,不安全。
解决方案:将提示权限改为775。
sudo chmod go-w /usr/local/mysql/bin
sudo chmod 775 /usr/local/mysql
centos7搭建gitlab(二)会介绍如何完成gitlab的仓库迁移
http://blog.csdn.net/u012887385/article/details/73885214