我想在实际构建之前运行一个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脚本参数的正确方法是什么?
答案 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