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 平臺(Win7):配置共享目錄

因爲權限問題安裝 Gitlab 時無法寫入文件(error: ruby_block[directory resource: /var/opt/gitlab/.ssh] action run),因此創建一個獨立磁盤保存數據。

  1. 創建 vdi 磁盤
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
  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 代碼
    在這裏插入圖片描述
    ![
    ](https://img-blog.csdn.net/20181021215227102?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FsbGFuX3Nob3JlX21h/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
    在這裏插入圖片描述
    在這裏插入圖片描述
    參考:https://docs.gitlab.com/omnibus/docker/