官方文档:https://docs.gitlab.cn/runner/install/windows.html
在Windows中安装极狐GitLab Runner
- 1.下载GitLab Runner二进制文件,新建一个文件夹(不要有中文),并将二进制文件放入该文件夹,重命名为“gitlab-runner.exe”
- 2.使用管理员权限运行命令行
- 3.执行“register”命令,URL和token取自GitLab中对应项目中CI/CD中的Runner参数,tags和描述后面可修改
- 4.刷新页面,出现可用的指定Runner
- 5.打开runner文件夹下的config.toml,修改shell = "powershell"
- 6.在运行runner的机子上,配置SSH密钥
- 7.在运行runner的机子上拉取代码测试
- 8.如果代码没有子模块,直接开始运行runner,切记使用管理员权限
- 9.如果代码有子模块,必须在install的时候输入当前机子上的用户账户和有效密码,用于使用本机上的SSH密钥
- 10.家庭版添加本地安全策略功能
1.下载GitLab Runner二进制文件,新建一个文件夹(不要有中文),并将二进制文件放入该文件夹,重命名为“gitlab-runner.exe”
2.使用管理员权限运行命令行
3.执行“register”命令,URL和token取自GitLab中对应项目中CI/CD中的Runner参数,tags和描述后面可修改
4.刷新页面,出现可用的指定Runner
5.打开runner文件夹下的config.toml,修改shell = “powershell”
6.在运行runner的机子上,配置SSH密钥
git config --global user.name "输入你的用户名"
git config --global user.email "输入你的邮箱"
ssh-keygen -t rsa -C "邮箱名称"
该过程禁止设置密码
复制用户目录下id_rsa.pub的内容
将该数据填入GitLab配置公钥置处
7.在运行runner的机子上拉取代码测试
8.如果代码没有子模块,直接开始运行runner,切记使用管理员权限
.\gitlab-runner.exe install
.\gitlab-runner.exe start
9.如果代码有子模块,必须在install的时候输入当前机子上的用户账户和有效密码,用于使用本机上的SSH密钥
否则会出现以下错误,无法拉取子模块
Host key verification failed. fatal: Could not read from remote repository.
.\gitlab-runner.exe install --user ENTER-YOUR-USERNAME --password ENTER-YOUR-PASSWORD
.\gitlab-runner.exe start
如果遇到类似账户名不可用之类的错误,尝试在用户名前添加 .\
.\gitlab-runner.exe install --user ".\ENTER-YOUR-USERNAME" --password "ENTER-YOUR-PASSWORD"
如果遇到:Failed to start GitLab Runner: The service did not start due to a logon failure.
当想要执行服务的用户没有 SeServiceLogonRight 权限的时候会发生这个错误。在这种情况下,您需要为选中的用户添加此 权限,然后重启服务。访问 Control Panel(控制面板) > System and Security(系统和安全) > Administrative Tools(Windows工具 或 管理工具)。
打开 Local Security Policy (本地安全策略)工具。(注意:家庭版没有该功能!!!)
在左侧列表中选择 Security Settings > Local Policies (本地策略)> User Rights Assignment(用户权限分配)。
在右侧列表中打开 Log on as a service(作为服务登录)。
单击 Add User or Group… 按钮。
添加用户(”手动” 或使用 Advanced… 按钮)并应用设置。
输入本机上的用户名
10.家庭版添加本地安全策略功能
教你如何在win11家庭版中添加【本地安全策略】
@echo offpushd "%~dp0"dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txtdir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>List.txt
for /f %%i in ('findstr /i . List.txt 2^>nul') do dism /online /norestart /add-package:"C:\Windows\servicing\Packages\%%i"pause
新建文本,填入上面的内容,后缀名修改成.cmd,用管理员权限运行