Gitlab-ci:如何使用cl参数运行python脚本

时间:2017-10-02 13:47:20

标签: python bash yaml command-line-arguments gitlab-ci

我想在实际构建之前运行一个python脚本,它需要cl参数,所以我在.gitlab-ci.yml中添加了以下部分:

.deploy_template: &template_name
  variables:
  - arg1: "https://some/url/"
  - arg2: "https://another/url/"
  - arg3: "https://one/more/url/"
  script:
  - python3 some/script/file.py $arg1 $arg2 $arg3

但是我收到以下错误:

usage: file.py [-h] arg1 arg2 arg3

file.py: error: the following arguments are required: arg1 arg2 arg3

如果参数只是字符串(即非变量),那么它工作正常,但它不会读取变量$arg1等。

在gitlab文档中提到,我可以使用bash语法来提供变量,因此$arg1必须正确引用。

我在脚本中使用argparse来获取cl参数。

在gitlab-ci.yml中调用变量作为python脚本参数的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

您的变量是一个列表,但它需要一个字典。只需从中删除-

.deploy_template: &template_name
  variables:
    arg1: "https://some/url/"
    arg2: "https://another/url/"
    arg3: "https://one/more/url/"
  script:
  - python3 some/script/file.py $arg1 $arg2 $arg3

More about yaml syntax