Ununtu16.04搭建GitLab服务器教程

 GitLab官方搭建教程地址: https://about.gitlab.com/install/#ubuntu

1. 依赖包安装

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

2.Gitlab 安装

   2.1 借用清华源安装,首先信任Gitlab的GPG公钥

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

     2.2 打开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

 (如果下载过程中访问超时出错,请用curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash,并直接跳入gitlab-ce安装:  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

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.17.5,80和8080端口被其他应用占用, 比如apache, 此时就要更改GitLab服务器端口, 此处将端口改为8083

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

修改完成并保存

打开gitlab.rb文件

cd /etc/gitlab
sudo vim gitlab.rb

#nginx['listen_port']=nil
修改为

nginx['listen_port']=8083

保存之后, 

接下来重启GitLab配置

sudo gitlab-ctl reconfigure

然后重启GitLab服务器

sudo gitlab-ctl restart

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

 4.2设置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目录下创建一个类似于1550415608_2019_02_17_11.5.1_gitlab_backup.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
1
其中

m: 表示分钟,可以是从0到59之间的任何整数。

h:表示小时,可以是从0到23之间的任何整数。

dom:表示日期,可以是从1到31之间的任何整数。

mon:表示月份,可以是从1到12之间的任何整数。

dow:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。

user : 表示执行的用户。

command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件(如shell文件)。

安装crond

sudo apt-get install crond

启动crond

 systemctl start crond 

查看状态

service cron status

 编辑Cron作业

第一次进入的时候要选择编辑器,选择后你可以配置新cron作业了,一般是选3

crontab -e

 现在我们来实现每天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

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

posted @ 2021-03-05 09:04  dwtmjps  阅读(151)  评论(0)    收藏  举报