首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ubuntu16.04搭建GitLab服务器教程

Ubuntu16.04搭建GitLab服务器教程

作者头像
小一
发布2019-08-14 16:00:04
2.1K0
发布2019-08-14 16:00:04
举报
文章被收录于专栏:谓之小一谓之小一
GitLab官方搭建教程地址: https://about.gitlab.com/install/#ubuntu

1.依赖包安装

sudo apt-get update
sudo apt-get install -y curl openssh-server ca-certificates

执行完成后,邮件配置时选择Internet即可.

2.GitLab安装

2.1官方教程

如果按照官方安装方法, 直接运行下列命令即可.

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
sudo apt-get install gitlab-ce

但按照官方教程安装会非常慢, 推荐使用下列方式, 利用清华源安装.

2.2清华源

首先信任GitLab的GPG公钥

curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null

接下来打开 gitlab-ce.list文本

sudo vim /etc/apt/sources.list.d/gitlab-ce.list

然后写入如下内容

deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xenial main

最后 :wq保存退出. 文本写入成功之后, 执行下列命令安装GitLab.

sudo apt-get update
sudo apt-get install gitlab-ce

3.GitLab启动

安装完成之后启动GitLab

sudo gitlab-ctl reconfigure

打开sshd和postfix服务

service sshd start
service postfix start

最后输入下列命令, 检查GitLab是否成功运行.

sudo gitlab-ctl status

如果成功运行, 在浏览器中输入http://127.0.0.1便可访问到GitLab界面. 首次使用时, GitLab会提示设置密码, 设置完成之后便可成功使用.

4.GitLab配置

4.1更改服务器IP地址

打开gitlab.yml文件

cd /opt/gitlab/embedded/service/gitlab-rails/config
sudo vim gitlab.yml

找到下列内容

gitlab:
    ## Web server settings (note: host is the FQDN, do not include http://)
    host: localhost
    port: 80
    https: false

将localhost修改为本机IP, 例如修改为192.168.1.25.

gitlab:
    ## Web server settings (note: host is the FQDN, do not include http://)
    host: 192.168.1.25
    port: 80
    https: false

修改完成并保存之后, 重启GitLab服务器.

sudo gitlab-ctl restart

重启成功之后, 便可通过http://192.168.1.25访问GitLab服务器.

4.2更改服务器端口

如果80和8080端口被其他应用占用, 比如apache, 此时就要更改GitLab服务器端口, 此处将端口改为8081.

首先打开gitlab.rb文件

cd /etc/gitlab
vim gitlab.rb

找到下列内容

#nginx['listen_port']=nil

修改为

nginx['listen_port']=8081

接下来重启GitLab配置

sudo gitlab-ctl reconfigure

然后重启GitLab服务器

sudo gitlab-ctl restart

最后便可用http://192.168.1.25:8081访问gitlab服务器.

4.3设置GitLab开机自启动

设置GitLab开机自启动命令为

sudo systemctl enable gitlab-runsvdir.service

禁止GitLab开机自启动命令为

sudo systemctl disable gitlab-runsvdir.service

5.GitLab备份

5.1创建备份文件

使用下列命令创建GitLab备份

sudo gitlab-rake gitlab:backup:create

然后便会在 /var/opt/gitlab/backups目录下创建一个类似于15504156082019021711.5.1gitlabbackup.tar的文件. 其中开头部分是创建的日期.

5.2修改备份目录

首先打开gitlab.rb文件

cd /etc/gitlab
vim gitlab.rb

找到下列命令

gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"

然后修改后面的地址即可. 修改完成之后重启配置文件生效.

sudo gitlab-ctl reconfigure
5.3设置自动备份机制

手动备份过于麻烦, 所以通过crontab设置自动备份. crontab文件之中, 每一行表示一项任务, 每行的每个字段表示一项设置. crontab共6个字段, 其中前5个字段设置执行的时间段, 第6个字段设置命令.

m h dom mon dow user user command

其中

m: 表示分钟,可以是从0到59之间的任何整数。 h:表示小时,可以是从0到23之间的任何整数。 dom:表示日期,可以是从1到31之间的任何整数。 mon:表示月份,可以是从1到12之间的任何整数。 dow:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。 user : 表示执行的用户。 command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件(如shell文件)。

现在我们来实现每天23点自动备份GitLab文件, crontab命令如下

0 23 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1

为保证安全, 使用双备份机制. 所以再加一个crontab任务, 设置每天23点1分, 将生成的gitlab文件放到外置硬盘之中, crontab命令如下

1 23 * * * cp -rf /var/opt/gitlab/backups/* /media/cciip/新加卷1/gitlab_backup/

编辑完/etc/crontab文件之后, 需要重新启动crontab服务, 命令如下

# 重新加载cron配置文件
sudo /usr/sbin/service cron reload
# 重启cron服务
sudo /usr/sbin/service cron restart

至此, 便能进行自动备份, 而且是双备份机制.

5.4设置备份过期时间

GitLab每天在备份, 文件会一直增大, 所以最好设置个过期时间, 比如7天.

首先打开/etc/gitlab/gitlab.rb文件

cd /etc/gitlab
sudo vim gitlab.rb

找到下列命令

# gitlab_rails['backup_keep_time'] = 604800

修改为

# 604800 = 60*60*24*7
gitlab_rails['backup_keep_time'] = 604800

最后重启GitLab配置文件即可.

sudo gitlab-ctl reconfigure
5.5恢复备份文件

如果想要将GitLab服务器迁移到其他主机上, 首先确保新服务器GitLab版本和老服务器GitLab版本相同.

然后copy备份文件到新服务器上. 比如此时我把192.168.1.25服务器上的备份文件拷贝到192.168.1.24上面, 可以通过如下命令进行.

scp /var/opt/gitlab/backups/1550415608_2019_02_17_11.5.1_gitlab_backup.tar root@192.168.1.24:/var/opt/gitlab/backups

然后在192.168.1.24服务器上进行如下操作

1.将备份文件权限改为777

chmod 777 1550415608_2019_02_17_11.5.1_gitlab_backup.tar

2.执行命令停止相关数据连接服务

gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

3.执行命令从备份文件中恢复GitLab

gitlab-rake gitlab:backup:restore BACKUP=1550415608_2019_02_17_11.5.1_gitlab_backup.tar

最后启动GitLab服务器即可

sudo gitlab-ctl start

现在便可通过http://192.168.1.24:8081访问GitLab服务器.

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-02-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 谓之小一 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.依赖包安装
  • 2.GitLab安装
    • 2.1官方教程
      • 2.2清华源
      • 3.GitLab启动
      • 4.GitLab配置
        • 4.1更改服务器IP地址
          • 4.2更改服务器端口
            • 4.3设置GitLab开机自启动
            • 5.GitLab备份
              • 5.1创建备份文件
                • 5.2修改备份目录
                  • 5.3设置自动备份机制
                    • 5.4设置备份过期时间
                      • 5.5恢复备份文件
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档