Gitlab安装
Gitlab中文社区地址:https://gitlab.com/xhang/gitlab/-/tags
清华开源镜像地址:https://mirrors.tuna.tsinghua.edu.cn/
推荐使用清华开源镜像网站下载,速度快。
安装版本:gitlab-ce-12.3.5-ce.0.el7.x86_64.rpm
汉化包版本:gitlab-v12.3.5-zh.tar
安装前先安装依赖环境
#先安装环境
[root@localhost data]# yum install -y curl postfix policycoreutils-python openssh-server wget
#本地安装命令
[root@localhost data]# yum localinstall gitlab-ce-12.3.5-ce.0.el7.x86_64.rpm -y
编辑配置文件
#vi编辑配置文件
[root@localhost data]# vi /etc/gitlab/gitlab.rb
#首先修改external_url
#配置邮箱,Email Settings
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = '[email protected]'
gitlab_rails['gitlab_email_display_name'] = '系统管理员'
#smtp
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "[email protected]"
gitlab_rails['smtp_password'] = "xxxxxxxxxx"
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
#初始化gitlab
[root@localhost gitlab]# gitlab-ctl reconfigure
[root@localhost gitlab]# gitlab-ctl start|restart|stop|status
修改Gitlab默认端口
gitlab默认端口是80 一般情况下此端口会被占用因此需要修改端口,避免跟其他程序冲突。
此方法如果修改了gitlab.rb 文件,然后重新执行gitlab-ctl reconfigure命令,修改的内容会覆盖,不建议这么修改。
vim /var/opt/gitlab/nginx/conf/gitlab-http.conf
server {
listen *:80; --修改端口
server_name localhost;
server_tokens off; ## Don't show the nginx version number, a security best practice
......
......
}
方式二 修改gitlab.rb文件
[root@localhost gitlab]# vim gitlab.rb
#修改nginx端口号
nginx[‘listen_port’] = 8088
[root@localhost gitlab]# gitlab-ctl reconfigure
[root@localhost gitlab]# gitlab-ctl restart
注意事项:修改端口后,创建用户发送的邮件默认端口还是80,external_url后面要跟着端口号
external_url ‘http://192.168.196.11:8088’
设置时区
gitlab_rails['time_zone'] = 'Asia/Shanghai'
Gitlab汉化包
首先确保汉化包跟安装的Gitlab版本一致
#解压汉化包
[root@localhost data]# tar xf gitlab-v12.3.5-zh.tar.gz
#停止gitlab
[root@localhost data]# gitlab-ctl stop
#覆盖语言包
[root@localhost data]# \cp -r gitlab-v12.3.5-zh/* /opt/gitlab/embedded/service/gitlab-rails/
cp: 无法以目录"gitlab-v12.3.5-zh/log" 来覆盖非目录"/opt/gitlab/embedded/service/gitlab-rails/log"
cp: 无法以目录"gitlab-v12.3.5-zh/tmp" 来覆盖非目录"/opt/gitlab/embedded/service/gitlab-rails/tmp"
#开启gitlab
[root@localhost data]# gitlab-ctl start
关闭注册入口
Gitlab备份恢复
#首先创建备份保存目录
[root@localhost /]# mkdir /data/gitlab/backups -p
#备份路径变更
[root@localhost data]# vim /etc/gitlab/gitlab.rb
#修改程自定义位置
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
#备份保存时间,默认7天
gitlab_rails['backup_keep_time'] = 604800
#修改后重新加载配置文件
[root@localhost gitlab]# gitlab-ctl reconfigure
#手动执行备份命令
[root@localhost gitlab]# gitlab-rake gitlab:backup:create
#查看备份文件
[root@localhost gitlab]# ls /data/gitlab/backups/
1598767272_2020_08_30_12.3.5_gitlab_backup.tar
配置定时备份任务
#查看定时任务
[root@localhost backups]# crontab -l
#编辑定时任务
[root@localhost backups]# crontab -e
42 14 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create
#重启服务
[root@localhost backups]# systemctl restart crond
#查看备份后的文件
[root@localhost backups]# ls
1598769743_2020_08_30_12.3.5_gitlab_backup.tar
自动备份
在crontab文件里面,每一行代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,每个字段之间用空格分割,没用的段用*代替,格式如下:
m h dom mon dow user command
其中:
m: 表示分钟,可以是从0到59之间的任何整数。
h:表示小时,可以是从0到23之间的任何整数。
dom:表示日期,可以是从1到31之间的任何整数。
mon:表示月份,可以是从1到12之间的任何整数。
dow:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
user : 表示执行的用户。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件(如shell文件)。
备份恢复
#首先先停止服务
[root@localhost backups]# gitlab-ctl stop
#恢复备份
[root@localhost backups]# gitlab-rake gitlab:backup:restore BACKUP=1598770605_2020_08_30_12.3.5
#启动服务
[root@localhost backups]# gitlab-ctl start