首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用gitlab ci运行批处理文件并获得输出

问使用gitlab ci运行批处理文件并获得输出
EN

Stack Overflow用户
提问于 2019-09-05 18:34:09
回答 2查看 2.4K关注 0票数 1

我已经用两个文件设置了我的gitlab项目:一个是只打印hello world的批处理文件,另一个是执行管道的.gitlab-ci.yml文件。

批处理文件中的代码为:

代码语言:javascript
复制
ECHO OFF
ECHO 'Hello World'
PAUSE

gitlab-ci.yml文件包含测试阶段:

代码语言:javascript
复制
test:
    stage: test
    script:
        - echo 'test'
        - chmod +x ./hello-world.bat

当我进行任何更改时,流水线启动并成功执行,但我没有从批处理文件中获得所需的输出。我是不是漏掉了什么?

管道结果如下所示:

​

​

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-05 23:21:45

当我在windows上使用gitlab-ci runner时,我创建了一个python脚本并将其推送到自托管的github实例。在该python脚本中,我只是触发了.bat脚本,然后运行该脚本并在项目管道中显示输出。

脚本如下所示:

代码语言:javascript
复制
import subprocess
subprocess.call([r'C:\hello.bat'])

这就是我想要的。

票数 0
EN

Stack Overflow用户

发布于 2019-09-05 18:42:04

在我看来,您只向文件添加了+x权限,使其成为可执行文件,但从未真正运行它。

如果您将gitlab-ci.yml修改为:

代码语言:javascript
复制
test:
    stage: test
    script:
        - echo 'test'
        - chmod +x ./hello-world.bat
        - ./hello-world.bat

话虽如此,但我不能百分之百确定这是否会奏效。因为这似乎是在linux系统上运行的,而.bat脚本是为基于windows的系统设计的。请参考bash脚本了解它们是如何工作的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57803536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档