Docker-compose搭建私有Gitlab

144 阅读2分钟

环境准备

默认相应环境docker及docker-compose已下载完成,由于gitlab的整体运行包含多个进程,相应环境配置也有一定要求的,内存至少4G以上。

docker引擎安装gitlab

  1. 创建一个目录,gitlab并在目录下创建一个docker-compose.yml 文件,打开文件写入如下配置
version: '3.6'
services:
  gitlab:
    image: 'twang2218/gitlab-ce-zh:11.1.4'
    container_name: "gitlab"
    restart: unless-stopped
    privileged: true
    hostname: 'gitlab'
    environment:
      TZ: 'Asia/Shanghai'
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://yhcloud.gitlab.com'
        gitlab_rails['time_zone'] = 'Asia/Shanghai'
        gitlab_rails['smtp_enable'] = true
        gitlab_rails['smtp_address'] = "smtp.aliyun.com"
        gitlab_rails['smtp_port'] = 465
        gitlab_rails['smtp_user_name'] = "lyc@szyihecloud.com"  #用自己的aliyun邮箱
        gitlab_rails['smtp_password'] = "a04f947c"
        gitlab_rails['smtp_domain'] = "aliyun.com"
        gitlab_rails['smtp_authentication'] = "login"
        gitlab_rails['smtp_enable_starttls_auto'] = true
        gitlab_rails['smtp_tls'] = true
        gitlab_rails['gitlab_email_from'] = 'tennislover_l@163.com'
        gitlab_rails['gitlab_shell_ssh_port'] = 22
    ports:
      - '8088:80'
      - '443:443'
      - '22:22'
    volumes:
      - ./gitlab/config:/etc/gitlab
      - ./gitlab/data:/var/opt/gitlab
      - ./gitlab/logs:/var/log/gitlab
      
      

在同级目录下创建一个gitlab 文件,用于存放 volumes数据,容器启动后一些配置文件将会被固化在本地磁盘上。

  • 启动docker-compose,初始化启动过程需要很长时间。
//执行以下命令来启动应用程序 
docker-compose up 
// 如果你想在后台执行该服务可以加上 -d 参数(建议使用这种) 
docker-compose up -d

如果是第一次创建容器,gitlab 初始用户名为root, 密码通过如下指令获取 这里GitLab 默认创建root用户和密码,root用户密码查询

docker exec -it 29c223afb302 grep 'Password:' /etc/gitlab/initial_root_password

输入root用户(管理员)和密码登录:

新用户注册 & 管理员认证

image.png

当新用户通过平台注册账号号,要通知管理员在上图位置找到新注册的用户,并通过申请后,新用户才可通过账号密码登录到平台。

设置SSH 密钥

打开用户设置界面

image.png

打开SSH key 配置

image.png

将生成的SSH 公钥写入并保存。

配置项目 webhook

打开项目,点击配置

image.png

在设置中找到webhook,如果一开始找不到,就点interation内容 中会有一个webhook 点击就会出现这个菜单 image.png

image.png

更多详细的webhook 文档可查看 archives.docs.gitlab.com/16.1/ee/use…