繁体   English   中英

如何将 Github 机密传递给 JSON 文件

[英]How to pass Github secrets to JSON file

我想在同一工作流程中将 GitHub 操作中的机密传递给 JSON 文件。

# Github secrets
SECRET_TOKEN: 4321

在 file.json 中,需要获取 SECRET_TOKEN 值。

 # file.json
    {
       secret_token: "SECRET_TOKEN", # should fetch the SECRET_TOKEN from git action
       apiId: "blabla"
    }

预期 Output:

# file.json
        {
           secret_token: "4321",
           apiId: "blabla"
        }

您有多种选择 - 您可以使用纯 bash 和jq来实现这一目标,或者如果您没有那么有经验,一种更简单的方法是使用市场上的现有操作之一,例如:

https://github.com/marketplace/actions/create-json

- name: create-json
  uses: jsdaniell/create-json@1.1.2
  with:
     name: "file.json"
     json: '{"app":"blabla", "secret_token":"${{ secrets.SECRET_TOKEN }}"}'

我建议您使用replace-tokens操作,例如,假设这个 json 文件:

文件.json

{
   secret_token: "#{SECRET_TOKEN}#",
   apiId: "blabla"
}

那个行动:

- uses: cschleiden/replace-tokens@v1
  with:
    files: 'file.json'
  env:
    SECRET_TOKEN: ${{ secrets.SECRET_TOKEN }}

如果要使用不同的令牌格式,可以指定自定义令牌前缀/后缀。 例如,要替换像 `{SECRET_TOKEN} 这样的标记,您可以添加:

- uses: cschleiden/replace-tokens@v1
  with:
    files: 'file.json'
    tokenPrefix: '{'
    tokenSuffix: '}'
  env:
    SECRET_TOKEN: ${{ secrets.SECRET_TOKEN }}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM