我正在尝试将一些多行字符串(例如 ssh 私钥)存储在.gitlab-ci.yml文件的变量中
我有一个 ssh 私钥
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAriS0+ayniFDo+y7GcNb62mupuM4EFBX+gdCEr/K8wZd/mFxY
mSGoVX2CdCDy6k+LSWbBBFtus575187fHNy045gJzI5D0PSGmPsWYqu/Rst43Qgr
R6CAOBqapM9LVBopH0pjPTv5/8iJA/G+Mw6MXGzQAAuA0ZyJoDy7d3GSVKG+k/k0
smZ+FKjDxZ3gn/e3nc5XABSywZlT91RHT6BImrxizvgHkkks1J8RBl9QoIvMSiwD
7sEElAABAoGBAN7kSADAK5vtqvFQsMAPEJLXdv5mP0IEe3IamL3MNlUYpb7yGqBr
6Jmopg+vpbkXZeMpC6uYu9F5Y6etV8yslTERxhP3yE+Fg2FFXc53jDOzkkCu+aey
PypGWE9hZXK5Wx9rqi83b9d59bCcMY5kouDSUNTmYVC3H+OxuX+2hgnJAoGBAMgC
toxjVLp+gDhRUqxe1MuTznq4GGzXB9/LuGYI078pHlYjHmWIKfHtKv5O6HqYz2pi
8mMNqt0vZC+Wbt5kZnE3Om1CgEvAPsxMUaAWq7iXSfEhqRvfwE5uJwkSxiTnRRWH
4tzSjGCP3+GqVYxUliELvwMdS1Qbo103lwVgoR4iLSrr/vWTb5NG3ms=...
-----END RSA PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)
和输出ssh-keyscan domain.com
# xx.xx.xx.xx:22 SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.5
xx.xx.xx.xx ssh-rsa AAAX20sVRmUkgOn8Db46ikEhC2zBZYZ7Lv2AsaHV+isNB3QYfNKGDEMj9CvWByezJR/3DqCgK/IGLH0JfMZK9H9HR7/P1aeY7bVAg07Gdt/vYrgQtaNtkdK3qD/C0oUSQAE1a2vOzBGx1HZgtORTh8eN/h5bKW0/2GVlS+9K1MR7peECpgOBo3fu2RPwB/KFlUcrtZkdE8Em/thbXFWE/VGBwh/eoNB1
# xx.xx.xx.xx:22 SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.5
xx.xx.xx.xx ecdsa-sha2-nistp256 LhpT93b8rE/exS/M9QyoyjoeEuioXhffu62Ayxxl4UewOuASHaF4ylQIJSNlK+groH6Iv1QvPVKFe/n1uF1Xvk=
# xx.xx.xx.xx:22 SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.5
xx.xx.xx.xx ssh-ed25519 AAAAC3Nz/O/Dod2CitLhIqnePT51H
Run Code Online (Sandbox Code Playgroud)
我知道这些可以存储在 gitlab CI/CD 变量中
但我如何将其存储在 yml 文件中。
喜欢
image: creatiwww/docker-compose:latest
services:
- docker:dind
variables:
ssh_private_key: <private key text here but its multiline>
ssh_known_hosts: <out put of ssh-keyscan which is also multiline>
Run Code Online (Sandbox Code Playgroud)
NeV*_*raX 20
使用>有效但不保留换行符。
|可能是任何来到这里的人都在寻找的东西。
这是两者的示例:
multi-lines-variables-test:
variables:
MULTI_WITHOUT_CR: >-
Here is the first line
And here is the second
MULTI_WITH_CR: |-
Here is the first line
And here is the second
script:
- echo "$MULTI_WITHOUT_CR"
- echo "$MULTI_WITH_CR"
Run Code Online (Sandbox Code Playgroud)
打印:
$ echo "$MULTI_WITHOUT_CR"
Here is the first line And here is the second
$ echo "$MULTI_WITH_CR"
Here is the first line
And here is the second
Run Code Online (Sandbox Code Playgroud)
请注意行中变量周围的双引号echo。如果省略它们,结果将在一行上,因为行将被视为 echo 的多个参数。
编辑:更好,>-并|-去掉尾随的新行。取自这里:https ://stackoverflow.com/a/21699210/10239040
不要\xe2\x80\x99t 将可能更改的 RSA 私钥或主机密钥放入 .gitlab-ci.XML 文件中。
\n使用可在项目或组级别配置的 GitLab 变量。
\nhttps://docs.gitlab.com/ee/ci/variables/
\n| 归档时间: |
|
| 查看次数: |
11291 次 |
| 最近记录: |