1. 安装和配置必要的依赖
1.1 安装openssh-server
sudo apt-get update
sudo apt-get install -y curl openssh-server ca-certificates
1.2 安装和配置邮件服务
安装Postfix用来发送GitLab的通知邮件。如果你有其它方案来发送邮件,可以跳过此步骤,然后在GitLab安装完成后,配置一个额外的SMTP服务器。
sudo apt-get install -y postfix
2. 安装GitLab
以下两种方式均可安装,可根据需要选择。
2.1 使用软件包安装
命令行下载速度较慢,可以使用迅雷等下载工具下载软件包以缩短下载时间。首先确定ubuntu版本是16.04(xenial)还是18.04(bionic)。如不清楚可以命令行输入:lsb_release -a查看,注意Codename是xenial还是bionic。
soap@ubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04 LTS
Release: 18.04
Codename: bionic
根据Codename到https://packages.gitlab.com/gitlab/gitlab-ce选择对应的Ubuntu/xenial或者Ubuntu/bionic版本的软件包下载,下载完成后,双击deb包安装或者在命令行输入命令安装:
sudo dpkg -i gitlab-ce_12.4.0-ce.0_amd64.deb
2.2 使用命令行安装
ubuntu官方地址的下载很慢,我们先添加一个国内的清华大学镜像地址:
sudo vim /etc/apt/sources.list.d/gitlab-ce.list
输入:
deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu bionic main
保存退出。
安装:
sudo apt-get update
sudo apt-get install gitlab-ce
3. 配置和启动gitlab
3.1 修改gitlab网址和端口(此步骤可选):
sudo vim /etc/gitlab/gitlab.rb
修改此处的地址:
external_url 'http://gitlab.example.com'
3.2 配置gitlab:
sudo gitlab-ctl reconfigure
3.3 启动gitlab:
sudo gitlab-ctl start
3.4 gitlab管理
启动完之后,在浏览器地址栏输入:http://192.168.66.106(服务器IP地址或者刚刚配置的external_url)就可以进入gitlab。首次登录需要为root账户设置密码。设置完之后就可以登录root账户进行管理了。网页功能比较简单,按照提示一步步创建用户、用户组、项目即可。
4. 迁移原有仓库
迁移已有仓库,以HelloWorld仓库为例,我们将它从109服务器迁移到106服务器用gitlab管理:
4.1 新建项目
浏览器输入http://192.168.66.106,在gitlab网页中新建HelloWorld项目
4.2 创建默认分支
选择HelloWorld项目,点击add README,这样就会自动生成master分支。
4.3 去掉分支保护
新建的master分支默认是受保护的,直接提交会报错误:
! [remote rejected] master -> master (pre-receive hook declined)
选择HelloWorld->Settings->Repository->Protected Branches. 修改保护权限允许developer身份的开发者提交或者直接去掉保护权限。
4.4 用原地址克隆裸仓库
加了参数选项--bare创建和克隆的版本库都不包含工作区,直接就是版本库的内容,这样的版本库称为裸版本库。
git clone --bare git@192.168.66.109:/home/git/HelloWorld.git
4.5 将裸仓库上传到gitlab
cd HelloWorld.git
git push --mirror git@192.168.66.106/app/HelloWorld.git
5. 部分备用的gitlab命令
5.1 停止:
sudo gitlab-ctl stop
5.2 开启:
sudo gitlab-ctl start
5.3 重新配置(每次修改地址后需要重新配置一下):
sudo gitlab-ctl reconfigure
5.4 查看日志:
sudo gitlab-ctl tail
5.5 查看版本号:
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
6. 卸载gitlab
sudo gitlab-ctl uninstall
sudo dpkg -r gitlab-ce
sudo rpm -e gitlab-ce
sudo reboot
本文参考:
https://www.jianshu.com/p/74a3a181dc36
https://blog.csdn.net/samxx8/article/details/72329002
https://www.jianshu.com/p/9b7306eba4d5
感谢三位原作者辛勤付出。