私有化部署GitLab及使用

2025 年 5 月 15 日 星期四(已编辑)
1
这篇文章上次修改于 2025 年 5 月 20 日 星期二,可能部分内容已经不适用,如有疑问可询问作者。

私有化部署GitLab及使用

准备工作

  • 需要准备一台服务器,大家可以在网上买,个人学习的话还是建议大家去安装一个虚拟机,去装一个Linux系统。PVE安装教程
  • docker Docker安装教程

安装

# 拉取Gitlab镜像
docker pull gitlab/gitlab-ce:latest
services:
  gitlab:
    image: gitlab/gitlab-ce
    container_name: gitlab
    restart: always
    privileged: true
    ports:
      - "9980:80"
      - "9922:22"
    volumes:
      - ./gitlab/etc:/etc/gitlab
      - ./gitlab/log:/var/log/gitlab
      - ./gitlab/opt:/var/opt/gitlab
    stdin_open: true
    tty: true
  • 启动docker-compose.yml文件
docker-compose up -d
  • 修改配置信息
#进容器内部
docker exec -it gitlab /bin/bash
 
#修改gitlab.rb
vi /etc/gitlab/gitlab.rb
 
#加入如下
#gitlab访问地址,可以写域名。如果端口不写的话默认为80端口
external_url 'http://192.168.124.194'
#ssh主机ip
gitlab_rails['gitlab_ssh_host'] = '192.168.124.194'
#ssh连接端口
gitlab_rails['gitlab_shell_ssh_port'] = 9922
 
# 让配置生效
gitlab-ctl reconfigure
# 修改http和ssh配置
vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
 
  gitlab:
    host: 192.168.124.194
    port: 9980 # 这里改为9980
    https: false
#重启gitlab 
gitlab-ctl restart
#退出容器 
exit
  • 访问gitlab服务器IP:9980;第一次访问,会让修改root密码,修改后以root用户登录即可;或者修改密码
# 进入容器内部
docker exec -it gitlab /bin/bash
 
# 进入控制台
gitlab-rails console -e production
 
# 查询id为1的用户,id为1的用户是超级管理员
user = User.where(id:1).first
# 修改密码为lhx123456
user.password='lhx123456'
# 保存
user.save!
# 退出
exit

使用

创建项目

  • 登录后点击Create a project

设置ssh


#1.打开本地git bash,使用如下命令生成ssh公钥和私钥对
ssh-keygen -t rsa -C 'xxx@xxx.com' 
#然后一路回车(-C 参数是你的邮箱地址)
#2.然后输入命令:
cat ~/.ssh/id_rsa.pub
#3.打开gitlab,找到Profile Settings-->SSH Keys--->Add SSH Key,并把上一步中复制的内容粘贴到Key所对应的文本框

拉取项目


#回到gitlab页面点击projects->your projects
#选择一个需要克隆的项目,进入
#点击按钮复制地址
#新建一个文件夹,我在这里在我的电脑D盘下新建project文件夹
#进入projects文件夹右键选择->Git Bash Here
#设置用户名和邮箱
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
#克隆项目
git clone ssh://git@192.168.1.155:9980/coe/dotware-svr.git
#查看projects文件夹,项目已经克隆下来了

提交代码到gitlab


#基于以上步骤,在克隆的项目文件夹下新增一个测试文件
#查看同步状态在项目文件夹下右键点击->Git Bash Here
git status
#可以看到红色部分有需要提交的文件
#提交代码
git add test.txt
#然后输入以下命令提交并添加提交信息
git commit -m "message"
#最后输出以下命令提交到gitlab
git push origin master
#提交完成啦
#再回到gitlab上看该项目就可以看到多了一个txt测试文件

备份及加载

docker中保存镜像,在另一台电脑加载(以gitlab镜像为例):


docker save -o gitlab.tar  gitlab/gitlab-ce:latest   #请替换为你实际使用的gitlab镜像和标签
#将保存的镜像文件传输到另一台电脑,在另一台电脑上加载gitlab镜像
docker load -i gitlab.tar

使用社交账号登录

  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...