首页 > 解决方案 > 在 Script 部分的 .gitlab-ci.yml 中调用 GO 二进制文件并捕获响应

问题描述

我正在寻找一种从.gitlab-ci.ymlFile 调用 main.go 文件的方法。Main.go 接受标志并返回布尔值。

从bash,我可以在下面执行

go run ./cmd/main.go -timeout=10

It displays true/ false values.

现在从我的.gitlab-ci.yml文件中,我想调用上面的程序。我们已经有了工作设置(docker 图像),所有 GO/SH 二进制文件都将放置在其中。所以.gitlab-ci.yml文件知道上面程序的位置。只是我没有找到在.gitlab-ci.yml内部脚本部分调用上述二进制文件的方法。我应该能够捕获 GO 二进制文件的返回响应。

标签: gogitlab-cigitlab-ci-runner

解决方案


有一种简单的调试方法(这只适用于自托管运行器)

在你的 .gitlab-ci.yml 中设置

script:
  - tail -f /dev/null
  - your commands
  - your commands ...

运行此作业后,您的跑步者将冻结,您将能够在跑步者容器内进行连接

docker (or kubectl) exec -it <your runner container> bash

在此之后,您可以调试和测试您的所有命令,您将知道您的命令为什么不起作用的原因,您可以稍后在您的 gitlab 文件中修复它


推荐阅读