Go CI 中使用上下文运行命令及集成测试实践
在 Go CI 流程中,将代码更改推送到远程 Git 仓库是最后一步。这一步涉及到 Git 版本控制系统的一些概念,如提交、本地和远程仓库、分支以及将提交推送到远程仓库等。
1. 推送代码到远程仓库
要推送代码,需要在管道中添加一个步骤来执行 git 命令。假设将代码推送到由 origin 标识的远程仓库的 master 分支,完整的命令是 git push origin master 。
不过,直接使用现有步骤类型添加此命令存在问题。因为该命令会通过网络(可能是互联网)将代码推送到远程仓库,如果出现网络问题,命令可能会挂起,导致 goci 工具也挂起。对于手动执行 goci 工具的情况,还可以在一段时间后取消执行,但在自动化流程或脚本中运行时,这是不可取的。
2. 设置命令执行超时
为避免上述问题,当运行可能需要较长时间才能完成的外部命令时,设置超时是个好办法。在 Go 中,可以使用 context 包来实现这一点。具体做法是将 step 类型扩展为一个名为 timeoutStep 的新类型。
以下是具体的操作步骤:
1. 创建 timeoutStep.go 文件 :
Go CI上下文命令与集成测试实践
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



