马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
1. Windows安装Gitlab Runner
参考官方文档:Install Gitlab Runner on Windows
主要操作步骤如下:
-
下载GitLab Runner 64位安装包或32位安装包
-
将可执行文件改名为 gitlab-runner.exe
-
以管理员身份打开 powershell 命令窗口,执行以下命令安装服务并启动
cd D:\GitLab-Runner
.\gitlab-runner.exe install
.\gitlab-runner.exe start
-
注册GitLab Runner,按照提示输出相关信息
./gitlab-runner.exe register
-
完成注册后,重新启动 gitlab-runner 服务
./gitlab-runner.exe restart
可能出现的问题:
+ .\gitlab-runner.exe register
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (Exception 0xc0000005 0x8 0x0 0x0:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
从Windows系统 服务 中删除gitlab-runner服务,然后通过以管理员身份运行 Windows Powershell 重新安装即可
- 如果运行
./gitlab-runner register 报 x509: certificate signed by unknown authority 错误,可以参考官方文档自签名证书配置, 把证书文件拷贝到如 d:/gitlab-runner/gitlab.home.crt ,然后用以下命令注册:
gitlab-runner register --tls-ca-file=d:/gitlab-runner/gitlab.home.crt
2. 安装Docker环境
2.1 下载安装Docker Desktop
通过Docker官方下载并安装Docker Desktop
2.2 配置GitLab Runner使用Docker Daemon
通过修改GitLab Runner的配置,加入 volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache"] ,使得容器中可以通过宿主机的Docker Daemon来执行docker命令:
...
[[runners]]
...
[runners.docker]
...
volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache"]
2.3 修改Docker Desktop 镜像存储位置【可选】
默认情况下,WSL2将使用系统盘空间来存放镜像,如果不希望占用系统盘空间,可以WSL虚拟机的存储调整到其他磁盘,可以参考这篇文章: Windows 系统 WSL2 环境修改 Docker Desktop 镜像存储位置。
详细操作步骤如下:
C:\Windows\system32>wsl --shutdown
C:\Windows\system32>wsl --export docker-desktop-data E:\dockervhdx\wsl\data\docker-desktop-data.tar
C:\Windows\system32>wsl --unregister docker-desktop-data
正在注销...
C:\Windows\system32>wsl --import docker-desktop-data E:\dockervhdx\wsl\data E:\dockervhdx\wsl\data\docker-desktop-data.tar --version 2
C:\Windows\system32>wsl --export docker-desktop E:\dockervhdx\wsl\distro\docker-desktop.tar
C:\Windows\system32>wsl --unregister docker-desktop
正在注销...
C:\Windows\system32>wsl --import docker-desktop E:\dockervhdx\wsl\distro E:\dockervhdx\wsl\distro\docker-desktop.tar --version 2
C:\Windows\system32>wsl -l -v
NAME STATE VERSION
* docker-desktop-data Stopped 2
docker-desktop Stopped 2
C:\Windows\system32>wsl -s docker-desktop
C:\Windows\system32>wsl -l -v
NAME STATE VERSION
* docker-desktop Stopped 2
docker-desktop-data Stopped 2
在Windows中运行docker命令时,实际上Docker CLI会与Hyper-V虚拟机中的Docker Daemon通信.
详细可参考:Running Docker in Docker on Windows (Linux containers) |