gitlab服务端在windows下安装 windows gitlab服务器
笔者之前在linux docker环境下安装配置了gitlab及gitlab runner, 但碰到有些程序代码必须得在window环境下构建,这就需要另外安装配置gitlab runner 的window 版本,以下就是
笔者安装配置过程中总结的经验和踩过的坑。
版本 GitLab Community Edition 12.10.3
1. 准备一台window server环境,例如 window server 2016
2. 安装git Git - Downloading Package
3. 二进制包下载地址 (64位) : https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-windows-amd64.exe
4. 建立一个目录,例如: c:\data\gitlab\, 将二进制包拷贝到这个目录, 并将名称重命名为gitlab-runner
5. 用管理员身份打开一个命令行窗口,进入到二进制包目录
6. 运行命令注册runner
gitlab-runner.exe register按照提示分别输入gitlab 服务器的地址和令牌,这个操作和linunx的是一样的,具体可参考我的另外一篇博文 如何安装配置gitlab-runner (区别: executor 使用 shell )
7. 以服务方式启动gitlab runner
使用内置系统账户启动 gitlab-runner.exe install gitlab-runner.exe start 使用当前用户账号启动 gitlab-runner.exe install --user ENTER-YOUR-USERNAME --password ENTER-YOUR-PASSWORD gitlab-runner.exe start笔者推荐用后者,这样runner启动所采用的环境变量和当前用户是一致的,这样当在gitlab下构建出现问题时,可以直接用当前账号在window server里测试排查,比较方便,
如果是用的前者,你也可以后面直接在window 服务的界面里去设置,如图
8. 使用.gitlab-ci.yml文件测试自动构建
碰到的问题:1. 在构建前端项目出现错误:Git 签出代码失败,提示 Filename too longgit config --system core.longpaths true2. 在.gitlab-ci.yml的脚本里bash语法失败gitlab runner for window默认是用powershell作为命令解释器, 可以手动修改config.toml文件
将shell改成bash, 如下图
注意:要给当前用户的环境变量PATH增加bash的路径,并重启gitlab runner服务,否则会提示找不到bash
如果安装了git,一般会安装bash,路径通常在如下图目录
3. 在gitlab pipeline输出页面出现中文乱码,如下图解决办法:在.gitlab-ci.yml脚本里加上
before_script: - 65001 示例: dotnet_build: stage: build before_script: - 65001 script: - dotnet build "web/web.csproj" -c Release4. 在构建的job里如果执行启动web服务不会退出如果在job里直接执行web程序, 由于web程序会启动监听服务不会退出,这回导致这个gitlab pipeline的job一直挂着,没法退出。
解决办法:使用start命令
start //B "command" 示例 start //B "./start.sh"参考:
Install GitLab Runner on Windows | GitLab
Git checkouts fail on Windows with "Filename too long error: unable to create file" errors | Bamboo | Atlassian Documentation
windows - Unicode (utf-8) with git-bash - Stack Overflow
在Windows下搭建Gitlab服务器windows搭建gitlab服务器
在Windows下搭建Gitlab服务器gitlab服务器搭建
windows下安装apache web服务器iis的安装及web服务器配置
gitlab服务端windows gitlab服务器性能要求
Linux-windows10下安装Ubuntuwindows下安装ubuntu
在Windows下安装BIND作为DNS服务器windows dns服务器
windows10下安装mongodb windows10下安装macos