【发布时间】:2026-01-25 06:15:02
【问题描述】:
我为我的自托管运行器设置了一个.gitlab-ci.yml 文件,如下所示。
stages:
- set-environment
- check-code
set-environment:
stage: set-environment
script:
- C:\Users\9279\Documents\WindowsPowerShell\profile.ps1
- conda activate temp
run_tests:
stage: check-code
script:
- pytest test.py
type_checker:
stage: check-code
script:
- (ls -recurse *.py).fullname | foreach-object {echo "`n$_`n";mypy --strict $_}
我打算使用set-environment 阶段使mypy 和pytest 可用于随后的check-code 阶段。不幸的是,它不是这样工作的。 GitLab 在每个阶段完成后销毁 shell。
我知道这是我对 Gitlab Runner 工作原理的理解上的一个缺陷。我怎样才能让set-environment 中的命令在run_tests 和type_checker 之前运行而不在YML 文件中重复它们?
【问题讨论】: