前提准备
建立git用户
useradd git passwd git
关闭防火墙
systemctl stop firewalld systemctl disabled firewalld
安装依赖库
yum install curl openssh-server postfix cronie service postfix start chkconfig postfix on
配置yum源进行安装
注意: gitlab-ce 镜像仅支持 x86-64 架构
centos中可以直接通过配置yum源然后使用yum进行一键安装
国内可以使用的清华大学的镜像源安装GitLab,相关配置及安装参照:https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/
以下内容写入yum源配置文件:/etc/yum.repos.d/gitlab-ce.repo
# vim /etc/yum.repos.d/gitlab-ce.repo [gitlab-ce] name=Gitlab CE Repository baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/ gpgcheck=0 enabled=1
yum makecache yum install gitlab-ce #自动安装最新版 # yum install gitlab-ce-x.x.x #安装指定版本
# 安装成功后的提示: Thank you for installing GitLab! GitLab was unable to detect a valid hostname for your instance. Please configure a URL for your GitLab instance by setting `external_url` configuration in /etc/gitlab/gitlab.rb file. Then, you can start your GitLab instance by running the following command: sudo gitlab-ctl reconfigure
默认路径
一键安装后可以利用rpm -ql gitlab-ce查询其文件安装路径及相关文件路径,其默认安装路径为/opt/gitlab/、程序数据及配置文件保存路径为/var/opt/gitlab下。
代码仓库保存位置:/var/opt/gitlab/git-data/repositories/
代码仓库备份位置:/var/opt/gitlab/backups/
postgresql数据及配置目录:/var/opt/gitlab/postgresql/data/
redis默认配置目录:/var/opt/gitlab/redis
gitlab主要配置文件:/etc/gitlab/gitlab.rb
常见配置
修改gitlab运行外部URL默认的访问地址
编辑/etc/gitlab/gitlab.rb
# 未修gitlab.rb配置文件中nginx配置时这个配置默认配置gitlab自带的nginx端口 external_url 'http://172.17.17.10:81'
修改之后使用如下命令重新加载配置且同时启动gitlab所有服务:
gitlab-ctl reconfigure
浏览器访问:http://172.17.17.10:81,被重定向到密码修改界面,修改密码为root的管理员账户,修改密码后自动跳转到登录页面,用root和修改后密码登录就可以
GitLab常用命令
gitlab-ctl start # 启动所有 gitlab 组件 gitlab-ctl stop # 停止所有 gitlab 组件 gitlab-ctl restart # 重启所有 gitlab 组件 gitlab-ctl status # 查看服务状态 gitlab-ctl reconfigure # 启动服务 vim /etc/gitlab/gitlab.rb # 修改默认的配置文件 gitlab-rake gitlab:check SANITIZE=true --trace # 检查gitlab sudo gitlab-ctl tail # 查看日志 gitlab-ctl --help #查看更多命令
发送邮件配置
gitlab_rails['smtp_enable'] = true #启用smtp服务 gitlab_rails['smtp_address'] = "mail.ultrapower.com.cn" #smtp发送服务器 gitlab_rails['smtp_port'] = 587 gitlab_rails['smtp_user_name'] = "xueming@ultrapower.com.cn" gitlab_rails['smtp_password'] = "12333lzxcl" gitlab_rails['smtp_domain'] = "ultrapower.com.cn" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = false gitlab_rails['gitlab_email_from'] = 'xueming@ultrapower.com.cn'#与smtp_user_name一定要一样 gitlab_rails['gitlab_email_reply_to'] = 'xueming@ultrapower.com.cn'
命令测试:gitlab-rails console
防火墙开放端口
firewall-cmd --zone=public --list-ports #查看开放端口 firewall-cmd --zone=public --add-port=8081/tcp --permanent #开放8081端口 firewall-cmd --reload #重新加载配置 #如果不需要,也可以直接关闭防火墙 systemctl stop firewalld.service
设置中文界面
刷新界面,就是中文的了