写在最前

最近在学CI/CD,写完的yml,想先在本地测试看看
所以就有了在本机上安装gitlab-runner的需求
虽然gitlab官方的安装文档给写的已经很详细了,但是由于是英文文档
加上我在安装时也走了点弯路,以及网上的教程多以linux和mac的安装为主(相信多数人工作中还是使用windows的多吧
为了备忘以及后来人能少走弯路,决定写下安装过程
由于各人机器环境不同,此文可能并不能完全解决你遇到的问题
未竟事宜留言讨论

正文

下面我会按照官方文档的操作来,并在其中加入自己的理解和说明 文档原文

  1. 创建一个文件夹 比如C:\GitLab-Runner 此步骤非必要(但最好做)主要是为了方便下面的注册、安装步骤
  2. 下载exe可执行文件64位32位,将下载的exe文件放到第一步的目录下,你可以重命名此可执行文件为gitlab-runner.exe(可选),更多的版本详见
  3. 确保exe有写入权限 可忽略原因下面说
  4. 打开一个命令行 cmd/PowerShell都行
    但需要注意,请用管理员身份执行
    cmd的管理员权限:win+R输入Taskmgr回车,打开任务管理器,文件-运行新任务,输入cmd,并勾选下面方的以系统管理权限创建此任务
    PowerShelle的管理员权限:win+X再按A确认
  5. 注册运行器 文档原文
准备工作
  • 可以在一个独立的电脑上安装,而不是非得是装了Gitlab的那台
  • 获取授权Token
  • 对于共享运行器,得让管理员去GitLab Admin Area里的Overview > Runners中添加
  • 对于组运行器,去Settings > CI/CD 展开Runner节点
  • 对于项目指定的运行器,去Settings > CI/CD 展开Runner节点 这里的Settings是项目的Settings不是账户的Settings

Windows

因为是测试用,所以我选择直接在Windows上安装,其他安装方式请查阅文档

  1. 执行cd命令进入上文exe的目录,调用exe执行register,具体命令
cd C:\GitLab-Runner  
./gitlab-runner.exe register    //使用exe的名字 不用全部敲出来,可按Tab键补齐
  1. 接下来根据提示输入Gitlab的地址,比如https://gitlab.com 这步操作实际是告诉gitlab-runner去连接此地址
  2. 输入准备工作中获得的token
  3. 输入runner的描述 描述和下步的标签都可以在Gitlab网页上修改
  4. 输入标签Tags 多个标签用逗号隔开
  5. 选择runner的执行器,大多数情况下,选docker 有virtualbox, docker, docker-windows, shell, ssh, docker-ssh+machine, kubernetes, custom, docker-ssh, parallels, docker+machine可供选择
  6. 如果上一步选的是docker,你还要选择yml中未指定时的默认镜像
  7. 示例
D:\GitLab-Runner>gitlab-runner-windows-amd64.exe register  
Runtime platform                                    arch=amd64 os=windows pid=39504 revision=8925d9a0 version=14.1.0  
Enter the GitLab instance URL (for example, https://gitlab.com/):  
https://gitlab.com/  
Enter the registration token:  
xxxxxxx  
Enter a description for the runner:  
[computername]:  
Enter tags for the runner (comma-separated):  

Registering runner... succeeded                     runner=HsQECyAn  
Enter an executor: virtualbox, docker, docker-windows, shell, ssh, docker-ssh+machine, kubernetes, custom, docker-ssh, parallels, docker+machine:  
docker  
Enter the default Docker image (for example, ruby:2.6):  
alpine:latest  
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!
  1. 把Gitlab安装成一个服务并启动
cd C:\GitLab-Runner
.\gitlab-runner.exe install
.\gitlab-runner.exe start
  1. 如果在步骤4没法使用管理员权限 那你也可以为自己的账户安装gitlab runner服务
cd C:\GitLab-Runner
.\gitlab-runner.exe install --user ENTER-YOUR-USERNAME --password ENTER-YOUR-PASSWORD
.\gitlab-runner.exe start
  1. (可选) 修改C:\GitLab-Runner\config.toml配置文件启用多并发任务,高级配置信息,你也可以在高级配置里使用Bash或PowerShell来取代Bat
    此段大部分人都可忽略,毕竟是用来本地测试的并不需要用到什么高级配置,有需要的自行了解

做完上面的步骤,你就可以在你的项目设置-CI/CD里看到此runner了
本教程的任务完成