mad*_*die 6 environment-variables gitlab gitlab-ci envsubst
$$无法在 GitLab CI 的环境变量中使用字符。
我将我的秘密存储在 GitLab CI 环境变量中,其中我的密码字符串之一末尾有 $$ 字符(例如:Ab1ab$$)。当我回显它或使用 envsubst 时,输出将为 Ab1ab$,去掉末尾多余的 $。
我尝试用 '',"" 将字符串包围起来,但没有任何帮助。在 gitlab 社区上看到了一些关于环境变量中 $ 字符使用的担忧,但找不到针对我的确切问题的任何解决方法。
https://gitlab.com/gitlab-org/gitlab-ce/issues/27436
导出 VAR= 'Ab1ab$$' 回显 $VAR=Ab1ab$
这是在 CI 中设置环境变量的一个非常常见的问题!我在 CircleCI 中也遇到过很多次。通常,我发现反斜杠取得了巨大的成功,但我猜您已经尝试过。
我发现一个线程讨论我认为可能是一个密切相关的问题: https://gitlab.com/gitlab-org/gitlab-ce/issues/27436
关键的一点是,至少在那个版本的 GitLab 产品中,他们还没有找到很好的答案。我决定开始做一些实验:
https://gitlab.com/mattbornski/gitlab-ci-exploration
我设置了一大堆不同格式的环境变量,看看哪个会产生美元符号。
$ python3 audit_environment.py
DOLLA_DOUBLE_MIDSTRING = 1$234
DOLLA_QUAD_MIDSTRING = 1$$234
DOLLA_SINGLE_MIDSTRING_BACKSLASHED = 1\34
DOLLA_DOUBLE_MIDSTRING_BACKSLASHED = 1\\34
DOLLA_DOUBLE_MIDSTRING_LEADING_BACKSLASHED = 1\$234
DOLLA_QUAD_ENDSTRING = 1234$$
DOLLA_SINGLE_MIDSTRING_BACKSLASHED_DOUBLE_QUOTED = "1\34"
DOLLA_SINGLE_MIDSTRING_DOUBLE_QUOTED = "134"
DOLLA_SINGLE_MIDSTRING_BACKSLASHED_SINGLE_QUOTED = '1\34'
DOLLA_SINGLE_MIDSTRING = 134
Job succeeded
Run Code Online (Sandbox Code Playgroud)
所以,这里的要点是:
所以你的选择看起来像:
为了进一步探索,这里有一些更有趣的选项可供尝试:https://unix.stackexchange.com/a/309791
| 归档时间: |
|
| 查看次数: |
4505 次 |
| 最近记录: |