gitlab 为变量声明抛出导出错误 - 奇怪的是以前从未抛出它 - 天知道怎么办
gitlab throwing an export error for variable declaration - oddly never throwing it before - god knows how
我有普通版块
variables:
DESTINATION: "dev"
dev-SERVERNUMBERS: "0 1"
而且,这一直有效,而且突然之间。 Gitlab CI 正在抱怨并给出以下错误信息
/bin/bash: line 103: export: `dev-SERVERNUMBERS=0 1': not a valid identifier
起初,我以为我导出的东西不对。但是,看起来这就是 gitlab runners 的工作方式,它们导出您的变量以使它们可用于您管道中的所有作业。我在任何 before_script.
中都没有导出语句
我能理解它为什么会抱怨,因为它希望变量用双引号引起来以便导出。但是,它现在至少有 2 个月没有抱怨了,所以我现在不明白为什么?
我发现 gitlab-ci 非常难以预测,使用起来非常令人沮丧。到现在为止,如果我已经通过 shell 脚本自动化了我的这个构建,我就可以上路了。而且,我已经被这个错误困住了 3 天了。它甚至没有打印出我设置的任何调试回显,并立即给出了与我的 .gitlab-ci.yaml 无关的行号
至少它应该给出试图执行的详细命令。
Bash 抱怨环境变量名称(标识符)不一定是值。 -
不是环境变量名称中允许的字符。您只能使用字母数字 (a-Z
、0-9
) 和下划线 (_
)。
这是 bash 的限制,不是 GitLab CI。
export foo="0 1" # OK
export foo-bar="0 1" # Not OK
bash: export: `foo-bar=0 1': not a valid identifier
我有普通版块
variables:
DESTINATION: "dev"
dev-SERVERNUMBERS: "0 1"
而且,这一直有效,而且突然之间。 Gitlab CI 正在抱怨并给出以下错误信息
/bin/bash: line 103: export: `dev-SERVERNUMBERS=0 1': not a valid identifier
起初,我以为我导出的东西不对。但是,看起来这就是 gitlab runners 的工作方式,它们导出您的变量以使它们可用于您管道中的所有作业。我在任何 before_script.
中都没有导出语句我能理解它为什么会抱怨,因为它希望变量用双引号引起来以便导出。但是,它现在至少有 2 个月没有抱怨了,所以我现在不明白为什么?
我发现 gitlab-ci 非常难以预测,使用起来非常令人沮丧。到现在为止,如果我已经通过 shell 脚本自动化了我的这个构建,我就可以上路了。而且,我已经被这个错误困住了 3 天了。它甚至没有打印出我设置的任何调试回显,并立即给出了与我的 .gitlab-ci.yaml 无关的行号 至少它应该给出试图执行的详细命令。
Bash 抱怨环境变量名称(标识符)不一定是值。 -
不是环境变量名称中允许的字符。您只能使用字母数字 (a-Z
、0-9
) 和下划线 (_
)。
这是 bash 的限制,不是 GitLab CI。
export foo="0 1" # OK
export foo-bar="0 1" # Not OK
bash: export: `foo-bar=0 1': not a valid identifier