gitlab数据迁移前期准备:

数据源

gitlab’s reposOmnibus GitLab Docsgitlab-清华大学开源软件镜像站

安装

插件

gitlab新增新用户有两种方式:
第一种可以用户主动注册(自己设置密码);
第二种也可以通过root管理员用户直接添加用户,发个邮件到用户的邮箱里,收到邮件后激活。
如果是第二种方式添加新用户的话,就需要配置gitlab邮箱了,而在linux环境里发送邮件就需要安装postfix(电子邮件服务器)工具、安装所需要的依赖。

# 安装Postfix以发送通知邮件
# yum install -y curl policycoreutils-python openssh-server postfix

# 将postfix服务设置成开机自启动
# systemctl enable postfix

# 启动postfix
# systemctl start postfix

gitlab移除仓库成员 gitlab 删除用户_docker

查看postfix是否是启动状态

# systemctl status postfix

gitlab移除仓库成员 gitlab 删除用户_配置文件_02


Active: active (running)说明,已经启动了。

还需要ssh 、防火墙 等,一般服务器都已经安装好了!

一、使用 docker 安装
docker的优点,搭建快,运行要求资源低,最重要的是实现的功能和效果都能达到预期

1、安装和启动docker

可以参考使用终端在centos7安装docker详细命令行

安装:yum -y install docker

启动:systemctl start docker

开机启动:systemctl enable docker

2、拉取镜像文件

# gitlab-ce为稳定版本,后面不填写版本则默认pull最新latest版本
$ docker pull gitlab/gitlab-ce

指定版本号:
docker pull gitlab/gitlab-ce:12.0.4-ce.0

3、运行gitlab容器

查看镜像

docker images

gitlab移除仓库成员 gitlab 删除用户_git_03


从gitlab镜像启动容器

docker run -d -h gitlab-ce -p 8443:443 -p 9099:80 -p 10022:22 --name gitlab --restart always -v /data/gitlab/config:/etc/gitlab -v /data/gitlab/logs:/var/log/gitlab -v /data/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:12.0.4-ce.0

gitlab移除仓库成员 gitlab 删除用户_docker_04


说明:

# -d:后台运行
# -h  hostname
# -p:将容器内部端口向外映射
# ssh的 22 端口映射为 10022 端口,web访问的 80 端口映射为 9099 端口
# --name:命名容器名称
# --restart always  当容器退出或宿主机重启的时候,容器接着会始终重启
# -v(volume):将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录(config配置目录、data数据目录、logs日志目录)

4、配置gitlab服务器的访问地址及邮箱
修改gitlab容器的配置文件
(运行容器的时候将文件转存的位置不同,配置文件的位置也不相同,一般都是将文件存到下面这几个文件内,方便日后备份等使用)

docker exec -it gitlab vi /etc/gitlab/gitlab.rb

vim /home/gitlab/config/gitlab.rb

vim /opt/gitlab/config/gitlab.rb

vi /mnt/gitlab/etc/gitlab.rb

修改为服务器的ip地址:

external_url 'http://115.159.84.173'

# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '172.16.81.81'
gitlab_rails['gitlab_shell_ssh_port'] = 10022

# 这里以新浪的邮箱为例配置smtp服务器
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.xxx.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "name4mail"
gitlab_rails['smtp_password'] = "passwd4mail"
gitlab_rails['smtp_domain'] = "xxx.com"
gitlab_rails['smtp_authentication'] = :login
gitlab_rails['smtp_enable_starttls_auto'] = true

# 还有个需要注意的地方是指定发送邮件所用的邮箱,这个要和上面配置的邮箱一致
gitlab_rails['gitlab_email_from'] = 'name4mail@xxx.com'

# 设置网络IP
pipework br0 gitlab-ce 172.16.81.81/24@172.16.81.1

修改gitlab.rb配置文件之后重启容器gitlab

docker restart  gitlab

二、镜像安装

一)
使用yum源安装

配置yum源

vim /etc/yum.repos.d/gitlab-ce.repo
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1

更新本地yum缓存

yum makecache

【注】把服务器的包信息下载到本地电脑缓存起来,makecache建立一个缓存,以后用install时就在缓存中搜索,提高了速度。
配合yum -C search xxx使用,不用上网检索就能查找软件信息。
需要定期清理缓存。

$ yum clean all

安装GitLab社区版

yum install -y gitlab-ce #自动安装最新版本

若需安装指定版本,则添加版本号即可,即

yum install gitlab-ce-x.x.x

二)

  1. 添加gitlab镜像
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
  1. 安装gitlab 安装命令
rpm -i gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
  1. 修改gitlab配置文件指定服务器ip和自定义端口
vim  /etc/gitlab/gitlab.rb
//##  GitLab URL
##! URL on which GitLab will be reachable.
##! For more details on configuring external_url see:
##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab

# 配置http协议所使用的访问地址,不加端口号默认为80
external_url 'http://gitlab.example.com'

# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.199.231'
gitlab_rails['gitlab_shell_ssh_port'] = 222 # 此端口是run时22端口映射的222端口

 //##  Legend
##! The following notations at the beginning of each line may be used to
##! differentiate between components of this file and to easily select them using

把 external_url 这项的内容改为你的IP或域名即可
(如:external_url ‘http://114.56.136.28’ 或 external_url ‘http://gitlab.com’ )

  1. 重置并启动GitLab
# 重新加载配置
gitlab-ctl reconfigure

# 启动gitlab
gitlab-ctl restart

# 查看gitlab运行状况
gitlab-ctl status
gitlab-ctl reconfigure # 启动服务;
(重新加载配置文件,在GitLab初次安装后可以使用,但是在业务环境中不可随意使用,reconfigure会把一些过去的config还原,导致修改的端口以及域名等都没有了。)

vim /etc/gitlab/gitlab.rb # 修改默认的配置文件;

gitlab-rake gitlab:check SANITIZE=true --trace # 检查gitlab;

sudo gitlab-ctl tail # 查看日志;

提示 "ok: run:"表示启动成功

修改git创库位置:

sudo rsync -av /var/opt/gitlab/git-data /data/gitlab/

修改备份路径位置:

sudo rsync -av /var/opt/gitlab/backups /data/gitlab/

修改配置文件:

vim /etc/gitlab/gitlab.rb

创建备份
在创建备份的之前,需打开配置文件找到两航关键的代码

gitlab_rails['manage_backup_path'] = ture
gitlab_rails['backup_path'] = 'var/opt/gitlab/backup'(路径可以自己改变)

将这两行代码放开,之后重新加载配置文件
gitlab_ctl reconfigure
  1. 访问 GitLab页面

如果没有域名,直接输入服务器ip和指定端口进行访问

升级新服务器版本命令:

apt update
apt install gitlab-ce

卸载

1.停止gitlab

# gitlab-ctl stop

2.卸载gitlab(看是gitlab-ce版本还是gitlab-ee版本)

# rpm -e gitlab-ce

3.查看gitlab进程

# ps aux | grep gitlab

gitlab移除仓库成员 gitlab 删除用户_GitLab_05

4.杀掉第一个进程(就是带有好多…的进程)

# kill -9 17313

5.删除所有包含gitlab文件

# find / -name *gitlab*|xargs rm -rf
# find / -name gitlab | xargs rm -rf

6.删除gitlab-ctl uninstall时自动在root下备份的配置文件

# ls /root/gitlab*
sudo gitlab-ctl uninstall # 删除服务
sudo gitlab-ctl cleanse # 清楚生成数据
sudo gitlab-ctl remove-accounts # 删除配置账户
sudo dpkg -P gitlab-ce # 删除软件包

通过以上几步就可以彻底卸载gitlab。

如果root密码忘记,需要重置密码

具体重置密码步骤

gitlab移除仓库成员 gitlab 删除用户_docker_06

$ sudo gitlab-rails console production
或者  gitlab-rails console -e production
$ User.all     #查看所有用户
$ user=User.where(name: "root").first
或  user = User.where(id: 1).first

$ user.password=12345678      
$ user.password_confirmation = '12345678'
$ user.save!

$ quit
$ exit

欢迎点赞、关注和评论哦!