1.搭建gitlab
环境拓扑
主机 | IP | 角色 | 安装软件包 |
gitlabserver | 192.168.1.11 | gitlab | Gitlab |
192.168.1.12 | Jenkins | jenkins、apache | |
192.168.1.13 | Apache | Apache |
注意:gitlab主机内存给大一点,最好是4G,不然后面会报错
修改主机名和配置ip地址,关闭所有主机的防火墙和selinux
1.1安装gitlab 需要安装组件
yum install -y curl policycoreutils openssh-server openssh-clients postfix policycoreutils-python cronie
1.2默认,使用Postfix发生邮件
systemctl enable postfix
systemctl start postfix
1.3关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
禁止 防火墙,就不用执行下面两条命令:
firewall-cmd --permanent --add-service=http
systemctl reload firewalld
2.安装gitlab 需要组件
GitLab 提供了两种安装方式:源码包编译安装和rpm软件包安装,我这里选择rpm软件包安装的形式。
2.1软件包下载
- 方法一:
使用迅雷下载 地址:
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.0.2-ce.0.el7.x86_64.rpm
- 方法二:
配置yum源,使用yum源下载:
vim /etc/yum.repos.d/gitlab.repo
[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
repo_gpgcheck=0
gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/gpg.key
yum install -y gitlab-ce
2.2上传软件包
2.3安装gitlab
rpm -ivh gitlab-ce-12.0.2-ce.0.el7.x86_64.rpm
注:Gitlab分为社区版(GitLab Community Edition)和企业版(GitLab Enterprise Edition)
GitLab官网上有详细的安装说明,根据自己的操作系统选择相应的版本,按步骤操作即可。https://about.gitlab.com/installation/
2.4配置gitlab访问地址
安装完成之后,打开配置文件 /etc/gitlab/gitlab.rb
将将 external_url = 'http://git.example.com'
修改为自己的 IP 地址
vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.1.11' #修改标红部分
可以修改为IP地址和自定以的 gitlab域名
2.5重置Gitlab
gitlab-ctl reconfigure
重新配置应用程序,修改 gitlab 服务配置文件后,都需执行这个命令,让各个服务重新加载生效,可能会等4分钟左右。
2.6查看端口
gitlab默认使用内置的nginx作为web界面。
注:如果后期web界面访问时,报502,需把防火墙清空规则,另外内存要大于4G,不然以后内存不足,也报 502
netstat -anptl | grep 80
根据进程号查看该进程对应的进程
2.7登录girlab
使用浏览器访问进入 Gitlab 登录界面首次访问系统会让你重新设置管理员的密码,默认的管理员账号是 root
2.8修改密码
第一次登录 gitlab,需要为 root 用户修改密码,root 用户也是 gitlab 的超级管理员,输入新密码,可以自己单独设置一个复杂密码
置好密码后,使用新设的密码登录
2.9重新登陆
注:
GitLab 的相关参数配置都存在 /etc/gitlab/gitlab.rb 文件里。
GitLab 默认使用 80 端口对外提供服务,如安装前服务器有启用80,安装完访问会报错。需更改gitlab的默认端口
vim /etc/gitlab/gitlab.rb
这时候就可以通更改后的 IP + 端口号码进行访问了。
每次重新配置,都需要执行 gitlab-ctl reconfigure 使之生效。
日志位置:/var/log/gitlab 可以进去查看访问日志以及报错日志等,供访问查看以及异常排查。
gitlab-ctl tail #查看所有日志
gitlab-ctl tail nginx/gitlab_access.log #查看nginx访问日志
3. Gitlab使用
3.1.管理 gitlab
关闭gitlab:gitlab-ctl stop
启动 gitlab: gitlab-ctl start
重启 gitlab: gitlab-ctl restart
gitlab 主配置文件:/etc/gitlab/gitlab.rb #可以自定义一些邮件服务等
日志地址:/var/log/gitlab/ #对应各服务
服务地址:/var/opt/gitlab/ #对应各服务的主目录
仓库地址:/var/opt/gitlab/git-data #记录项目仓库等提交信息
重置配置:gitlab-ctl reconfigure #不要乱用
重启服务:gitlab-ctl stop/start/restart #启动命令
3.2Gitlab 汉化
说明:gitlab中文社区版的项目,v7-v8.8 是由 Larry Li发起的“GitLab 中文社区版项目”(https://gitlab.com/larryli/gitlab),从 v8.9之后,@xhang 开始继续该汉化项目(https://gitlab.com/xhang/gitlab)。
- 软件下载地址:
我们这里安装的是v12版本的gitlab,下载v12的汉化包(注:版本要对应)
https://gitlab.com/xhang/gitlab/-/archive/12-0-stable/gitlab-12-0-stable-zh.tar.gz
- 上传软件包并解压
tar zxf gitlab-12-0-stable-zh.tar.gz
查看版本:
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
cat /root/gitlab-12-0-stable-zh/VERSION
- 停止服务:
gitlab-ctl stop
- 开始汉化:
/bin/cp -rf gitlab-12-0-stable-zh/* /opt/gitlab/embedded/service/gitlab-rails/
- 启动gitlab
gitlab-ctl start
等1分钟,再去访问web页面。访问太快会显示 502 错误。
- 登陆girlab
3.3关闭 girlab注册功能
默认情况下可以直接注册账号,我们不需要注册功能,可以关闭
- 关闭注册页面
- 点击保存
- 退出登陆查看结果
3.3配置邮箱报警
linux运维最注重的一点就是告警邮件,所以Gitlab一样提供了邮件发送的功能。使用默认设置可能收不到邮件,这里使用第三方SMTP服务器.
- 官网各种邮箱配置实例:
- 修改配置文件
配置QQ邮箱 SMTP:
vim /etc/gitlab/gitlab.rb
#在第57行后添加以下内容
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com" #SMTP服务器
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = " 702661894@qq.com" #邮箱账号gitlab_rails['smtp_password'] = "vbmlumeyysepbcie" #客户端授权码,注意:此为163邮箱设>
置的客户端授权码,授权码是用于登录第三方邮件客户端的专用密码。
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = '702661894@qq.com' #发邮件的邮箱地址
- 重载gitlab
gitlab-ctl reconfigure
- 登陆控制台发生测试邮件
gitlab-rails console #登陆控制台
发送QQ邮箱发送测试邮件
Notify.test_email('702661894@qq.com','test','hello world').deliver_now
- QQ邮箱查看邮件