gpt4 book ai didi

Gitlab CI变量,带引号的选项

转载 作者:行者123 更新时间:2023-12-04 16:44:58 27 4
gpt4 key购买 nike

我有以下 gitab-ci.yml 文件:

stages:
- tests

.test: &test_job
image:
name: test.com/test:latest
entrypoint: [""]
script:
- py.test /test -v $EXTRA_OPTIONS

testing:
variables:
EXTRA_OPTIONS: -m "not slow"
<<: *test_job
stage: tests

我想传递运行 pytest 的选项,例如:
py.test/tests -v -m "不慢"
以避免运行缓慢的测试,但 gitlab 正在尝试转义引号。
我有类似的东西:py.test/tests -v -m '"not\' 'slow"'

是否可以创建一个无需转义即可内联的变量?
我只找到了 this link但它没有帮助。

最佳答案

首先,为了避免变量中的空格转义,使用单引号:

variables:
EXTRA_OPTIONS: -m 'not slow'

要应用变量,您有两个选择:

  1. 结合使用 addopts-oaddoptsenables you to persist command line args in pytest.ini 的 inifile 键. -o/--override-ini arg 允许覆盖 inifile 值,包括 addopts。两者的结合是通过环境变量传递命令行参数的绝妙技巧:

    script:
    - pytest -v -o "addopts=$EXTRA_OPTIONS" /test
  2. 使用eval:

    script:
    - eval pytest -v "$EXTRA_OPTIONS" /test

    但是,在使用eval 时需要非常小心;见Why should eval be avoided in Bash, and what should I use instead? .因此,我更喜欢第一个选项。

关于Gitlab CI变量,带引号的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54181673/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com