Gitlab部署及汉化

gitlab部署

部署

yum install -y checkpolicy libcgroup libsemanage-python policycoreutils-python python-IPy setools-libs audit-libs-python 
cd /usr/local/src
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.3.5-ce.0.el7.x86_64.rpm
yum -y localinstall gitlab-ce-12.3.5-ce.0.el7.x86_64.rpm
gitlab-ctl reconfigure

汉化

cd /usr/local/src
wget https://gitlab.com/xhang/gitlab/-/archive/12-3-stable-zh/gitlab-12-3-stable-zh.tar.gz
tar -zxvf gitlab-12-3-stable-zh.tar.gz
cd gitlab-12-3-stable-zh
unalias cp
mkdir /tmp/confbak
cp -rf /opt/gitlab/embedded/service/gitlab-rails/* /tmp/confbak
cp -rf /usr/local/src/gitlab-12-3-stable-zh/* /opt/gitlab/embedded/service/gitlab-rails
gitlab-ctl reconfigure

修改配置

vim /etc/gitlab/gitlab.rb
> 更改external_url为http://"本机IP":"自定义的端口,默认为80"
gitlab-ctl reconfigure
gitlab-ctl restart
#开机自启
systemctl enable gitlab-runsvdir.service
# 默认存储位置在:/var/opt/gitlab/git-data/repositories,通常需要更改此路径到单独的一个分区来存储仓库的数据
# 例如把数据存放到/data/gitlab目录下
mkdir -p /data/gitlab
vim /etc/gitlab/gitlab.rb
# 在git_data_dir下面添加一句git_data_dir “/data/gitlab”
gitlab-ctl stop
gitlab-ctl reconfigure
gitlab-ctl start

登录

# 默认用户名为root
# 密码为第一次访问时设置的密码

常用命令

语法:gitlab-ctl command (subcommand)
  start  #启动所有服务
  stop  #关闭所有服务
  restart  #重启所有服务
  status  #查看所有服务状态
  tail  #查看日志信息
  service-list  #列举所有启动服务
  graceful-kill  #平稳停止一个服务
  help  #帮助
  reconfigure  #修改配置文件之后,需要重新加载下
  show-config  #查看所有服务配置文件信息
  uninstall  #卸载这个软件,yum -y remove gitlab-ce,rm -rf /etc/gitlab /var/log/gitlab /var/opt/gitlab /opt/gitlab,find / -name gitlab|xargs rm -rf
  cleanse  #删除gitlab数据
  remove-accounts #删除账户信息
gitlab-rails console  # 进入rails控制台
gitlab-rake gitlab:backup:create  #备份数据库。使用以上命令会在/var/opt/gitlab/backups目录下创建一个名称类似为1481598919_gitlab_backup.tar的压缩包, 这个压缩包就是 Gitlab 整个的完整部分, 其中开头的:1481598919是备份创建的日期,/etc/gitlab/gitlab.rb配置文件须备份,/var/opt/gitlab/nginx/conf nginx配置文件,/etc/postfix/main.cfpostfix 邮件配置备份
gitlab-rake gitlab:backup:restore BACKUP=1481598919  #备份恢复,后面的数字是备份的时间戳,可以通过备份文件名看到
# 0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create  #Gitlab自动备份,实现每天凌晨2点进行一次自动备份:通过crontab使用备份命令实现

示例:
  gitlab-ctl start  #启动所有服务
  gitlab-ctl start nginx  #启动单独一个服务
  gitlab-ctl tail  #查看日志,类似tail -f
  gitlab-ctl tail nginx  #查看一个应用的日志
  gitlab-ctl show-config  #显示所有服务配置文件
  gitlab-ctl uninstall  #卸载gitlab