Gitlab 默认安装文件位置
1 项目文件位置gitlab代码放在/var/opt/gitlab/git-data/下)
2 配置文件目录 /etc/gitlab/gitlab.rb修改完配置后执行gitlab-ctl reconfigure生效
3安装文件目录 /var/opt/gitlab/
4备份文件目录 /var/opt/gitlab/backups
5 日志位置:/var/log/gitlab
6 部分配置文件地址/opt/gitlab/embedded/service/gitlab-rails/config
vim gitlab.yml 修改服务器的ip地址 ,邮件发送名称
7 文件上传位置/var/opt/gitlab/gitlab-rails/uploads/
gitlab安装以后有两个目录:
一个在/opt/gitlab,这里都是程序文件,不包含数据。
另一个在/var/opt/gitlab,这里都输数据文件。
安装后的配置文件目录:
主文件:/etc/gitlab/
主配置文件:/var/opt/gitlab/
/opt/gitlab/
日志目录:/var/log/gitlab/
gitlab-ctl
tail #查看所有日志gitlab-ctl tail nginx/gitlab_access.log #查看nginx访问日志cd op
迁移需要/etc/gitlab/gitlab.rb
6 查看版本的信息
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
日常管理
gitlab-ctl start|stop|status|restart
安装gitlab
1. [endif]当前环境
系统版本centos6.8x64
在 CentOS 6 安装
使用国内镜像安装,新建 /etc/yum.repos.d/gitlab-ce.repo,添加以下内容
[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6
repo_gpgcheck=0
gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/gpg.key
安装步骤:
# 安装依赖包
sudo yum install curl openssh-serveropenssh-clients postfix cronie -y
# 启动 postfix 邮件服务
sudo service postfix start
# 检查 postfix 设置开机启动
sudo chkconfig postfix on
# 安装 GitLab 社区版
sudo yum install gitlab-ce
# 初始化GitLab
sudo gitlab-ctl reconfigure
添加访问的ip或者域名,修改/etc/gitlab/gitlab.rb的external_url
每次修改/etc/gitlab/gitlab.rb,都要运行以下命令,让配置生效
sudo gitlab-ctl reconfigure
配置及启动的命令
gitlab-ctl reconfigure 类似于重新加载
gitlab-ctl status 状态
gitlab-ctl stop 停止
gitlab-ctl start 启动
最后,在浏览器打开网址http://ip,登陆。默认管理员:
用户名: root
密码: 5iveL!fe
Gitlab 升级
1当前Gitlab 版本10.1.1
2 升级目前最新版本为10.2.2 (2017/11/30)
2.1登录服务器
停止服务
1.关闭gitlab服务
gitlab-ctlstop unicorn
gitlab-ctlstop sidekiq
gitlab-ctlstop nginx
备份数据
gitlab-rake gitlab:backup:create
使用以上命令会在/var/opt/gitlab/backups目录下创建一个名称类似为1512021935_2017_11_30_10.1.1_gitlab_backup.tar的压缩包, 这个压缩包就是Gitlab整个的完整部分, 其中1512021935_2017_11_30是备份创建的日期10.1.1_gitlab是gitlab的版本
/etc/gitlab/gitlab.rb 配置文件须备份
/var/opt/gitlab/nginx/conf nginx配置文件
/etc/postfix/main.cfpostfix 邮件配置备份
下载gitlab的RPM包并进行升级
开启服务
gitlab-ce start
curl-shttps://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh| sudo bash
yumupdate gitlab-ce
或者直接安装高版本
yuminstall gitlab-ce-10.2.2-ce.0.el6.x86_64
或者上官网下载最新版本 gitlab对应软件包 [gitlab官网]
(https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-10.2.2-ce.0.el6.x86_64.rpm)
使用rpm -Uvh gitlab-ce-10.2.2-ce.0.el6.x86_64
报错.
Errorexecuting action `run` on resource 'ruby_block[directory resource:/var/opt/gitlab/git-data/repositories]'
解决方法:
sudochmod 2770 /var/opt/gitlab/git-data/repositories
4.启动并查看gitlab版本信息
gitlab-ctlreconfigure 重新配置
gitlab-ctlrestart 重启服务
#head -1 /opt/gitlab/version-manifest.txt
gitlab-ce10.2.2
设置卸载备份,恢复,迁移,目录及nginx修改
gitlab更改默认Nginx
更换gitlab自带Nginx,使用自行编译Nginx来管理gitlab服务。
编辑gitlab配置文件禁用自带Nignx服务器
vi/etc/gitlab/gitlab.rb
...
#设置nginx为false,关闭自带Nginx
nginx['enable']= false
...
检查默认nginx配置文件,并迁移至新Nginx服务
/var/opt/gitlab/nginx/conf/nginx.conf
#nginx配置文件,包含gitlab-http.conf文件
/var/opt/gitlab/nginx/conf/gitlab-http.conf
#gitlab核心nginx配置文件
重启 nginx、gitlab服务
$sudo gitlab-ctl reconfigure
$sudo service nginx restart
访问报502。原因是nginx用户无法访问gitlab用户的socket文件。 重启gitlab需要重新授权
chmod-R o+x /var/opt/gitlab/gitlab-rails
彻底卸载gitlab
一、停止gitlab
sudogitlab-ctl stop
二、卸载gitlab
sudorpm -e gitlab-ce
三、查看gitlab进程
杀掉第一个守护进程
kill-9 4473
再次查看gitlab进程是否存在
四、删除gitlab文件
find / -name gitlab|xargs rm -rf 删除所有包含gitlab的文件及目录
删除gitlab-ctl uninstall时自动在root下备份的配置文件
通过以上几步就可以彻底卸载gitlab
Gitlab备份,还原及目录修改
Gitlab备份目录修改
可以通过/etc/gitlab/gitlab.rb配置文件来修改默认存放备份文件的目录
gitlab_rails['backup_path']= "/var/opt/gitlab/backups"
/var/opt/gitlab/backups修改为你想存放备份的目录即可, 修改完成之后使用gitlab-ctl reconfigure命令重载配置文件即可.
Gitlab备份
1.关闭gitlab服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-ctl stop nginx
备份数据
gitlab-rake gitlab:backup:create
Gitlab自动备份
日常备份,添加 /etc/crontab,运行vim /etc/crontab
实现每天凌晨1点进行一次自动备份:通过crontab使用备份命令实现
0 1* * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create
Gitlab恢复
Gitlab的从备份恢复也非常简单:
# 停止相关数据连接服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
# 从备份文件为1512110682_2017_12_01_10.2.2_gitlab_backup.tar编号备份中恢复将覆盖GitLab数据库的全部内容!命令为
gitlab-rake gitlab:backup:restore BACKUP=备份文件编号
#会让你选择yes no
输入yes后
# 启动Gitlab
sudo gitlab-ctl start
# 检查 GitLab服务正常否
gitlab-rake gitlab:check SANITIZE=true
3.gitlab迁移
迁移如同备份与恢复的步骤一样, 只需要将老服务器/var/opt/gitlab/backups目录下的备份文件拷贝到新服务器上的/var/opt/gitlab/backups即可(如果你没修改过默认备份目录的话).
但是需要注意的是新服务器上的Gitlab的版本必须与创建备份时的Gitlab版本号相同. 比如新服务器安装的是最新的7.60版本的Gitlab, 那么迁移之前, 最好将老服务器的Gitlab 升级为7.60在进行备份.
/etc/gitlab/gitlab.rb gitlab配置文件须迁移,迁移后需要调整数据存放目录
/var/opt/gitlab/nginx/conf nginx配置文件目录须迁移
[root@linux-node1~]# gitlab-ctl stop unicorn
ok:down: unicorn: 0s, normally up
[root@linux-node1~]# gitlab-ctl stop sidekiq
ok:down: sidekiq: 0s, normally up
[root@linux-node1~]# chmod 777 /var/opt/gitlab/backups/1481598919_gitlab_backup.tar
[root@linux-node1~]# gitlab-rake gitlab:backup:restore BACKUP=1481598919
启动Gitlab
sudogitlab-ctl start
重新配置gitlab
gitlab-ctl reconfigure
Gitlab GitLab服务构成
Gitlab 汉化
下载汉化包并覆盖汉化包
1 停止gitlab服务
gitlab-ctl stop
2 切换到gitlab汉化包所在的目录(即步骤二获取的汉化版gitlab)
cd /root/gitlab
3 比较汉化标签和原标签,导出 patch 用的 diff 文件到/root下
git diff v10.0.2 v10.0.2-zh >../10.0.2-zh.diff
4 回到/root目录
cd
5 将10.0.2-zh.diff作为补丁更新到gitlab中
yum install patch -y
patch -d/opt/gitlab/embedded/service/gitlab-rails -p1 < 10.2.2-zh.diff
6 启动gitlab
gitlab-ctl start
7 重新配置gitlab
gitlab-ctl reconfigure
汉化完成
问题
1 迁移后上传的文档链接没变
解决方案使用域名重定向