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),因此創建一個獨立磁盤保存數據。
- 創建 vdi 磁盤
- fdisk 創建磁盤(SSH 登陸 Docker 服務器,docker/tcuser)
# sudo -i
# fdisk /dev/sdb (n, p, 1)
# mkfs.ext4 /dev/sdb1
- mount 掛載(SSH 登陸 Docker 服務器,docker/tcuser)
# mkdir /mnt/gitlab
# mount /dev/sdb1 /mnt/gitlab
三、Docker 平臺(Win7):安裝 Gitlab
- SSH 登陸 Docker 服務器,pull gitlab/gitlab-ce 鏡像
- 查看 gitlab/gitlab-ce 鏡像
- 創建 /mnt/gitlab/config, /mnt/gitlab/logs, /mnt/gitlab/data 目錄:所有 Gitlab 配置文件保存在 /mnt/gitlab 目錄下;
- 運行 gitlab/gitlab-ce 容器:
--name: 容器名
--hostname:IP 或域名
--restart : 自動啓動
-d: daemon 守護進程
-p: publlish 端口,80/443 是 gitlab/gitlab-ce 網頁端口; 9922 是 gitlab/gitlab-ce SSH 端口
-v: 數據持久化卷
- 查看 docker 進程
# docker pull gitlab/gitlab-ce
# docker images
# 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
- VirtualBox 作端口轉發,打開 gitlab:http://ip
- 修改管理員密碼:root/12345678
- 根據分組:創建 webDev, webUI, webAPI 等用戶
- 用戶 webUI 登錄,創建代碼庫 uiAutoTesting
- 上傳SSH 公鑰,Git pull 代碼
![
參考:https://docs.gitlab.com/omnibus/docker/