我试图在github操作步骤中base64
编码json
gcp服务帐户,如下所示
- name: base64 encode the gcr sa
id: base64-encode
run:
echo "::set-output name=STAGING_GCR_SA_BASE64::$(echo -n ${{ secrets.GCR_SA }} | base64)"
步骤失败,如下所示:
sh: command substitution: line 25: syntax error near unexpected token `***'
我想这是因为没有办法操纵秘密?
有办法解决这个问题吗?(除了将秘密直接存储为base64
)
如果我使用-w 0
禁用base64行换行,我可以让您的方法工作。
既然你发布了你的问题set-output
已被弃用,设置GHA输出的语法已经改变,所以它看起来像这样:
echo "{STAGING_GCR_SA_BASE64}=$(echo -n ${{ secrets.GCR_SA }} | base64 -w 0)" >> "$GITHUB_OUTPUT"