Skip to content

GitLab搭建 企业级源代码管理

方式1 docker 快速部署

docker compose 快速部署

1.根据 docker-compose.yml 内容 快速创建服务

yaml
name: "gitlab"
services:
  gitlab.local.com:
    image: gitlab/gitlab-ce:latest
    container_name: gitlab
    hostname: '192.168.152.1' # 这里填写ip 与下面对应
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://gitlab.local.com'
        gitlab_rails['gitlab_shell_ssh_port'] = 2424
    ports:
      # 防止端口占用改为81
      - '81:80'
      - '443:443'
      - '2424:22'
    volumes:
      - GITLAB_CONFIG:/etc/gitlab
      - GITLAB_LOG:/var/log/gitlab
      - GITLAB_DATA:/var/opt/gitlab
    shm_size: '256m'
volumes:
  GITLAB_CONFIG: { }
  GITLAB_LOG: { }
  GITLAB_DATA: { }

2.拿到初始的管理员密码并及时修改密码

初始密码在容器中的 /etc/gitlab/initial_root_password 文件中 在docker-compose.yml 文件输入命令打印在控制台

WARNING

注意密码文件24小时删除请及时保存和修改

bash
docker compose exec gitlab cat /etc/gitlab/initial_root_password
# 只输出密码信息
docker compose exec gitlab cat /etc/gitlab/initial_root_password | grep Password: |awk '{print $2}'

gitlab_init_password.png

接下来进行基本设置就可以开始进行源代码管理了

gitlab_init_project.png

gitlab-runner

yaml
name: "gitlab"
services:
  gitlab.local.com:
    image: registry.cn-beijing.aliyuncs.com/zbzly/gitlab-ce
    container_name: gitlab
    hostname: 'gitlab.local.com' # 这里填写ip 与下面对应
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://gitlab.local.com'
        gitlab_rails['gitlab_shell_ssh_port'] = 2424
    ports:
      - '81:80'
      - '443:443'
      - '2424:22'
    volumes:
      - GITLAB_CONFIG:/etc/gitlab
      - GITLAB_LOG:/var/log/gitlab
      - GITLAB_DATA:/var/opt/gitlab
    shm_size: '256m'
  gitlab-runner:
    image: registry.cn-beijing.aliyuncs.com/zbzly/gitlab-runner
    volumes:
      - GITLAB_RUNNER_CONFIG:/etc/gitlab-runner
      - /var/run/docker.sock:/var/run/docker.sock
volumes:
  GITLAB_CONFIG:
  GITLAB_LOG:
  GITLAB_DATA:
  GITLAB_RUNNER_CONFIG:

nginx代理

gitlab.conf

text
server{
    server_name gitlab.local.com;
    listen 80;
    location / {
        proxy_pass http://127.0.0.1:81;
        proxy_set_header Host $host:$server_port;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Real-PORT $remote_port;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

k8s helm方式部署

添加gitlab仓库

bash
helm repo add gitlab http://charts.gitlab.io/

下载gitlab helm chart

bash
helm pull gitlab/gitlab --version=8.8.1
tar -zxvf  gitlab-8.8.1.tgz
cd gitlab
helm install gitlab -n gitlab  -f values.yaml .