赞
踩
笔者使用的ubuntu版本为20.04,gitlab版本为16.2.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跳转到确定上点击回车。
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
前往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
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
笔者所使用的是虚拟机,需要现在vmware中将网络设置为桥接模式
输入ifconfig获取关键信息
ifconfig
并将虚拟机ip设置为固定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保存并退出
通过以下命令重启服务
# 停止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
#切换路径 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
浏览器输入ip+端口号,点击右下角切换为中文
点击头像>点击perferences
下滑找到language选择简体中文点击保存即可
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
拉取最新版镜像
gitlab/gitlab-ce:latest
例子
gitlab/gitlab-ce:16.2.1-ce.0
设置目录映射
/docker/gitlab/etc/gitlab rw /etc/gitlab
/docker/gitlab/backups rw /var/opt/gitlab/backups
查看容器名
docker ps
进入容器
docker exec -it 容器名 bash
编辑配置文件
vi /etc/gitlab/gitlab.rb
# 启动gitlab服务
gitlab-ctl reconfigure
# 重启所有gitlab组件
gitlab-ctl restart
#切换路径 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
docker exec -it 容器id bash
gitlab-rake gitlab:backup:create
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编号备份中恢复
设置自动备份
#更新并安装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
#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
host all all 0.0.0.1/0 md5
打开terminal执行下面三行在提交
git pull
git pull origin master
git pull origin master --allow-unrelated-histories
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。