Docker CI: Win7 下 Gitlab 安装与配置

一、概述

基于 Docker 集成 CI 环境。涉及技术:Linux(Ubuntu 14.04), Docker, Jenkins, Git/Gitlab, Web/Httpbin, Python/Pytest, UI/Selenium, Robotframework, Grid Server, Appium 等。

架构图如下:

Docker CI: Win7 下 Gitlab 安装与配置

二、Docker 平台(Win7):配置共享目录

因为权限问题安装 Gitlab 时无法写入文件(error: ruby_block[directory resource: /var/opt/gitlab/.ssh] action run),因此创建一个独立磁盘保存数据。

  1. 创建 vdi 磁盘
    Docker CI: Win7 下 Gitlab 安装与配置
    Docker CI: Win7 下 Gitlab 安装与配置
    Docker CI: Win7 下 Gitlab 安装与配置
    Docker CI: Win7 下 Gitlab 安装与配置
    Docker CI: Win7 下 Gitlab 安装与配置
  2. fdisk 创建磁盘(SSH 登陆 Docker 服务器,docker/tcuser)
# sudo -i
# su -
# fdisk /dev/sdb (n, p, 1)
# mkfs.ext4 /dev/sdb1
  1. mount 挂载(SSH 登陆 Docker 服务器,docker/tcuser)
# mkdir /mnt/gitlab
# mount /dev/sdb1 /mnt/gitlab

三、Docker 平台(Win7):安装 Gitlab

  1. SSH 登陆 Docker 服务器,pull gitlab/gitlab-ce 镜像
  2. 查看 gitlab/gitlab-ce 镜像
  3. 创建 /mnt/gitlab 目录及 /mnt/gitlab/config, /mnt/gitlab/logs, /mnt/gitlab/data 子目录:所有 Gitlab 配置文件保存在 /mnt/gitlab 目录下;
  4. 运行 gitlab/gitlab-ce 容器:
    --name: 容器名
    --restart : 自动启动
    -d: daemon 守护进程
    -p: publlish 端口,80/443 是 gitlab/gitlab-ce 网页端口; 9922 是 gitlab/gitlab-ce SSH 端口
    -v: 数据持久化卷
  5. 查看 docker 进程
# docker pull gitlab/gitlab-ce
# docker images
# mkdir /mnt/gitlab && cd /mnt/gitlab
# mkdir config logs data 
# docker run --name gitlab --hostname 192.168.99.100 --restart always -d -p 80:80 -p 433:433 -p 9922:22 -v /mnt/gitlab/config:/etc/gitlab -v /mnt/gitlab/logs:/var/logs/gitlab -v /mnt/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
# docker ps

四、Docker 平台(Win7):配置 Gitlab

  1. 打开 jenkins:http://192.168.99.100
  2. 修改管理员密码:root/12345678
  3. 根据分组:创建 webDev, webUI, webAPI 等用户
  4. 用户 webUI 登录,创建代码库 uiAutoTesting
  5. 上传SSH 公钥,Git pull 代码
    Docker CI: Win7 下 Gitlab 安装与配置
    ![
    Docker CI: Win7 下 Gitlab 安装与配置
    Docker CI: Win7 下 Gitlab 安装与配置
    Docker CI: Win7 下 Gitlab 安装与配置
    参考:https://docs.gitlab.com/omnibus/docker/