• 已删除用户
Administrator
发布于 2024-05-08 / 21 阅读
0

GitLab 入坑指南

GitLab 是一个强大的版本控制和协作平台,用于管理代码仓库、项目、问题跟踪、持续集成和部署等软件开发任务。下面是一个详细的 GitLab 使用教程,包括创建项目、添加成员、管理代码、问题跟踪和持续集成等方面的基本步骤。

GitLab 分为 社区版(Community Edition,缩写为 CE)和 企业版(Enterprise Edition,缩写为 EE)。社区版是免费的,而企业版包含一些收费服务,一般来说个人开发者用社区版就足够了。

一、安装启动

1.1 Docker 方式安装

sudo docker run --detach \
  --name gitlab \
  --restart always \
  --publish 7797:443 --publish 7799:80 --publish 7798:22 \
  --volume /home/zhangqin/mydata/gitlab/config:/etc/gitlab \
  --volume /home/zhangqin/mydata/gitlab/log:/var/log/gitlab \
  --volume /home/zhangqin/mydata/gitlab/data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest

1.2 Docker Compose 文件

  1. docker-compose.yml 文件

networks:
  1panel-network:
    external: true
services:
  gitlab:
    # 容器运行的镜像
    image: registry.cn-shenzhen.aliyuncs.com/zhangqintech/gitlab-ce:17.3.0-ce.0
    # 自定义容器名称
    container_name: ${CONTAINER_NAME}
    # 添加环境变量
    environment:
      TZ: Asia/Shanghai
    # 容器总是重新启动
    restart: always
    # 端口映射
    ports:
      - 11022:22
      - 11080:80
      - 11443:443
    # 配置容器连接的网络
    networks:
      - 1panel-network
    # 以 root 用户身份运行容器
    user: root
    # 将主机的数据卷或着文件挂载到容器里
    volumes: 
      - "/mydata/volumes/gitlab/config/ssh:/etc/ssh"
      - "/mydata/volumes/gitlab/config/gitlab:/etc/gitlab"
      - "/mydata/volumes/gitlab/data:/var/opt/gitlab"
      - "/mydata/volumes/gitlab/log:/var/log/gitlab"
      - "/mydata/volumes/gitlab/.ssh:/root/.ssh"
    # 部署配置
    deploy:
      # 资源配置
      resources:
        limits:
          cpus: ${CPU_LIMIT}
          memory: ${MEMORY_LIMIT}
  1. .env 文件

CONTAINER_NAME="cicd-gitlab"
CPU_LIMIT=0
MEMORY_LIMIT=0

1.3 默认账号密码

默认管理员账号:root
默认管理员密码:进入容器后查询 /etc/gitlab/initial_root_password 文件。

1.4 必要的配置

# 修改gitlab.rb
vi /etc/gitlab/gitlab.rb
# gitlab访问地址,可以写域名。如果端口不写的话默认为80端口
external_url 'http://192.168.3.17:11080'
# ssh主机ip
gitlab_rails['gitlab_ssh_host'] = '192.168.3.17'
# ssh连接端口
gitlab_rails['gitlab_shell_ssh_port'] = 11022
# 让配置生效
gitlab-ctl reconfigure
# 重启gitlab
gitlab-ctl restart

二、常见功能

2.1 关闭用户注册

因为 Gitlab 默认开启了用户注册(需要管理员审核),建议关闭用户注册功能。记得取消勾选了Sign-up enabled,下拉点击保存按钮~~~

2.2 忘记管理员密码

# 进入容器内部
docker exec -it gitlab /bin/bash

# 进入控制台
gitlab-rails console -e production

# 查询id为1的用户,id为1的用户是超级管理员
user = User.where(id:1).first

# 修改密码为123456
user.password='123456'
# 保存
user.save!
# 退出
exit