如何使用 [=10th=] 工作流的二进制文件设置 Github Secret?
How to Set Gihub Secret with a Binary File for Github Workflow?
我想将我的 API 配置文件 (binary.file
) 添加到 Github 秘密 (MY_BINARY_SECRET)。然后在工作流中再次读取并写入binary.file
:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install System
run: |
sudo apt-get update
sudo apt-get install -y pip python3.8-venv libcurl4-openssl-dev
- name: Set up configurations
shell: bash
run: |
echo "${{ secrets.MY_BINARY_SECRET }}" > binary.file
python3 .... # the python script will need binary.file to complete authentication
然而,我尝试了很多小时以不同的方式将二进制内容复制到 Github Secret,但都失败了。我尝试了 pbcopy
、less
、cat
。有谁知道如何通过 github 操作中的 Github Secret 写入二进制文件?或者更好的解决方案?
谢谢!
(扩展我的评论):
使用base64
将二进制字符串编码为文本并将其解码回二进制。这是非常标准的技巧。
首先,在家编码:
echo "$MY_BINARY_SECRET" | base64 --wrap=0 > secret.b64
--wrap=0
使输出文本为一长行;对以下 echo
有用。
上传文本文件 secret.b64
作为 GitHub 的秘密。使用
解码
echo -n "${{ secrets.MY_BINARY_SECRET }}" | base64 --decode > binary.file
建议:先尝试本地解码,再与原字符串进行比较。必须一样。
我想将我的 API 配置文件 (binary.file
) 添加到 Github 秘密 (MY_BINARY_SECRET)。然后在工作流中再次读取并写入binary.file
:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install System
run: |
sudo apt-get update
sudo apt-get install -y pip python3.8-venv libcurl4-openssl-dev
- name: Set up configurations
shell: bash
run: |
echo "${{ secrets.MY_BINARY_SECRET }}" > binary.file
python3 .... # the python script will need binary.file to complete authentication
然而,我尝试了很多小时以不同的方式将二进制内容复制到 Github Secret,但都失败了。我尝试了 pbcopy
、less
、cat
。有谁知道如何通过 github 操作中的 Github Secret 写入二进制文件?或者更好的解决方案?
谢谢!
(扩展我的评论):
使用base64
将二进制字符串编码为文本并将其解码回二进制。这是非常标准的技巧。
首先,在家编码:
echo "$MY_BINARY_SECRET" | base64 --wrap=0 > secret.b64
--wrap=0
使输出文本为一长行;对以下 echo
有用。
上传文本文件 secret.b64
作为 GitHub 的秘密。使用
echo -n "${{ secrets.MY_BINARY_SECRET }}" | base64 --decode > binary.file
建议:先尝试本地解码,再与原字符串进行比较。必须一样。