我已经用两个文件设置了我的gitlab项目:一个是只打印hello world的批处理文件,另一个是执行管道的.gitlab-ci.yml文件。
批处理文件中的代码为:
ECHO OFF
ECHO 'Hello World'
PAUSEgitlab-ci.yml文件包含测试阶段:
test:
stage: test
script:
- echo 'test'
- chmod +x ./hello-world.bat当我进行任何更改时,流水线启动并成功执行,但我没有从批处理文件中获得所需的输出。我是不是漏掉了什么?
管道结果如下所示:

发布于 2019-09-05 23:21:45
当我在windows上使用gitlab-ci runner时,我创建了一个python脚本并将其推送到自托管的github实例。在该python脚本中,我只是触发了.bat脚本,然后运行该脚本并在项目管道中显示输出。
脚本如下所示:
import subprocess
subprocess.call([r'C:\hello.bat'])这就是我想要的。
发布于 2019-09-05 18:42:04
在我看来,您只向文件添加了+x权限,使其成为可执行文件,但从未真正运行它。
如果您将gitlab-ci.yml修改为:
test:
stage: test
script:
- echo 'test'
- chmod +x ./hello-world.bat
- ./hello-world.bat话虽如此,但我不能百分之百确定这是否会奏效。因为这似乎是在linux系统上运行的,而.bat脚本是为基于windows的系统设计的。请参考bash脚本了解它们是如何工作的。
https://stackoverflow.com/questions/57803536
复制相似问题