如何从CICD变量复制内容到gitlab-ci.yml文件



我有一个问题,在复制内容从CICD变量到gitlab-ci。yml文件蔡先生变量

这个值我试图在yml文件中访问它,在这个值中替换另一个值。

这里我面临的问题是,当使用sed命令进行替换时,它不会将n复制为n,而是给出换行符。但是我希望n是原样粘贴的

PRIVATE_KEY='-----BEGIN PRIVATE KEY-----nMIIEvQIBAn-----END PRIVATE KEY-----n'
sed -i -e a s,PRIVATE_KEY,'-----BEGIN PRIVATE KEY-----nMIIEvnQIBAn-----END PRIVATE KEY-----n',g key.json

输出:

-----BEGIN PRIVATE KEY-----
MIIEv
QIBA
-----END PRIVATE KEY-----

这不是我需要的。

可以使用

sed -i "s,PRIVATE_KEY,$(sed 's/[&/]/\&/g' <<< "$PRIVATE_KEY"),g" key.json

这里,sed 's/[&/]/\&/g' <<< "$PRIVATE_KEY"在变量文本中的&,/字符之前添加转义反斜杠。

查看在线演示:

#!/bin/bash
PRIVATE_KEY='-----BEGIN PRIVATE KEY-----nMIIEvQIBAn-----END PRIVATE KEY-----n'
sed "s,PRIVATE_KEY,$(sed 's/[&/]/\&/g' <<< "$PRIVATE_KEY"),g" <<< "PRIVATE_KEY"

输出:

-----BEGIN PRIVATE KEY-----nMIIEvQIBAn-----END PRIVATE KEY-----n

最新更新