ubuntu部署gitlab服务器
笔者使用的ubuntu版本为20.04,gitlab版本为16.2.1,也是网上查阅的资料整合,如有侵权请联系。
1、更新命令
cd /home
mkdir gitlab
cd /gitlab
sudo apt update
sudo apt-get upgrade
sudo apt-get install curl openssh-server ca-certificates postfix
遇到图中情况点击tab跳转到确定上点击回车。
2、安装Gitlab官方库
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
3、复制wget命令
前往Gitlab官网:https://packages.gitlab.com/gitlab/gitlab-ce,找到最新版本的gitlab-ce
安装包,注意版本是ubuntu/focal
。
wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/focal/gitlab-ce_16.2.1-ce.0_amd64.deb/download.deb
4、进行解压
sudo dpkg -i gitlab-ce_16.2.1-ce.0_amd64.deb
如果运行dpkg
报openssh-server相关的错误,请先执行下面三个命令:
sudo apt --fix-broken install
sudo apt-get update
sudo apt-get upgrade
5、安装成功。
6、获取本机固定ip
笔者所使用的是虚拟机,需要现在vmware中将网络设置为桥接模式
输入ifconfig获取关键信息
ifconfig
并将虚拟机ip设置为固定ip
7、设置ip和端口号
编辑配置文件
sudo vim /etc/gitlab/gitlab.rb
如果出现vim识别不了的报错,运行下面两行命令即可
sudo rm /var/lib/dpkg/lock*
sudo apt-get update && sudo apt-get install vim
如果运行上述命令出现权限问题,运行下列命令即可
chmod -R 755 /var/log/gitlab
寻找external_url字段将其设置为虚拟机的ip和想要设置的端口号,按esc,输入wq保存并退出
8、重启
通过以下命令重启服务
# 停止gitlab服务
sudo gitlab-ctl stop
# 启动gitlab服务
sudo gitlab-ctl reconfigure
# 重启所有gitlab组件
sudo gitlab-ctl restart
# 启动所有gitlab组件
sudo gitlab-ctl start
# 启用开机自启动
sudo systemctl enable gitlab-runsvdir.service
9、初始化root密码
#切换路径
cd /opt/gitlab/bin/
#打开控制台
sudo gitlab-rails console -e production
#查询用户账号信息并赋值给u
u=User.where(id:1).first
#设置root的密码
u.password='wxy123456'
#确认密码
u.password_confirmation='wxy123456'
#保存信息(注意有个感叹号)
u.save!
#退出
exit
9、登录
浏览器输入ip+端口号,点击右下角切换为中文
10、设置中文界面
点击头像>点击perferences
下滑找到language选择简体中文点击保存即可
宝塔面板进行docker部署gitlab
1、安装宝塔面板
ubuntu安装:
wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec
centos安装:
yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec
2、拉取镜像
拉取最新版镜像
gitlab/gitlab-ce:latest
例子
gitlab/gitlab-ce:16.2.1-ce.0
3、创建容器
设置目录映射
/docker/gitlab/etc/gitlab rw /etc/gitlab
/docker/gitlab/backups rw /var/opt/gitlab/backups
4、设置ip+端口
查看容器名
docker ps
进入容器
docker exec -it 容器名 bash
编辑配置文件
vi /etc/gitlab/gitlab.rb
# 启动gitlab服务
gitlab-ctl reconfigure
# 重启所有gitlab组件
gitlab-ctl restart
5、初始化root密码
#切换路径
cd /opt/gitlab/bin/
#打开控制台
gitlab-rails console -e production
#查询用户账号信息并赋值给u
u=User.where(id:1).first
#设置root的密码
u.password='xxxxxxxxxx'
#确认密码
u.password_confirmation='xxxxxxxxxx'
#保存信息(注意有个感叹号)
u.save!
#退出
exit
备份迁移
更新版本工具
1、进入容器
docker exec -it 容器id bash
2、旧服务器备份
gitlab-rake gitlab:backup:create
3、上传到新服务器的目录上
gitlab-ctl stop unicorn #停止相关数据连接服务
gitlab-ctl stop sidekiq
切换到目录
cd /var/opt/gitlab/backups/
chmod 777 /var/opt/gitlab/backups/1530156812_2018_06_28_10.8.4_gitlab_backup.tar
#修改权限,如果是从本服务器恢复可以不修改
gitlab-rake gitlab:backup:restore BACKUP=1530156812_2018_06_28_10.8.4
#从1530156812_2018_06_28_10.8.4编号备份中恢复
4、定时备份
设置自动备份
#更新并安装corn定时任务
apt-get update
apt-get install -y cron
#编辑定时任务
crontab -e
#查看定时任务
crontab -l
#查看服务是否启动
service cron status
#启动corn服务
service cron start
#每五分钟执行一次
*/5 * * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create
#每天凌晨2点执行一次
crontab -e
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create
#实际中
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create && /home/delete_old_files.sh
设置定时删除脚本
#!/bin/sh
# 指定?录路径
directory="/var/opt/gitlab/backups/"
# 删除过去一周之前的 .tar 文件
find "$directory" -maxdepth 1 -type f -name '*.tar' -mtime +7 -exec rm {} \;
echo "过去一周之前的 .tar 文件已删除"
此时可能会出现时区问题,docker默认时区是 UTC
5、更改时区
#1、进入容器: 使用以下命令进入正在运行的 GitLab 容器:
docker exec -it 容器id bash
#2、查看当前时区,可以运行:
cat /etc/timezone
#3、更改时区,例如切换到北京时间:
echo "Asia/Shanghai" > /etc/timezone
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#4、重新加载配置:
dpkg-reconfigure -f noninteractive tzdata
#5、验证更改: 运行 date 命令查看更改后的当前日期和时间。
date
宝塔搭建postgresql
1、设置监听地址为允许所有人
2、设置认证允许的IP和认证方式
host all all 0.0.0.1/0 md5
注意
idea首次上传项目被拒
打开terminal执行下面三行在提交
git pull
git pull origin master
git pull origin master --allow-unrelated-histories