返回列表 发布新帖

GitLab Runner 在 Windows 中安装

217 0
发表于 2024-4-16 21:23:32 | 显示全部楼层 阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×

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

可能出现的问题:

  • 如果使用 Windows Poweshell ISE 可能会报错,参见issue 3942
+ .\gitlab-runner.exe register
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (Exception 0xc0000005 0x8 0x0 0x0:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

从Windows系统 服务 中删除gitlab-runner服务,然后通过以管理员身份运行 Windows Powershell 重新安装即可

  • 如果运行 ./gitlab-runner registerx509: 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)

回复

使用道具 举报

意见建议

Email:forum@gitlab.cn
  • 关注公众号
  • 添加专业顾问
Copyright © 2001-2024 极狐GitLab论坛 版权所有 All Rights Reserved. 鄂ICP备2021008419号-1|鄂公网安备42018502006137号
关灯 快速发帖
扫一扫添加专业顾问
返回顶部
快速回复 返回顶部 返回列表