如何只加密 .env 文件的值?

How can I encrypt just the values of a .env file?

我需要 GitHub 操作中构建管道的密钥名称,在回购中加密但在我的本地环境中解密的密钥值。 例子: 我在本地环境中需要这样的 .env 文件(已解密):

ACCESS_KEY = mykeysecret123

ANOTHER_KEY = key2secret

.env-file

在 GitHub 存储库中像这样(加密):

ACCESS_KEY = f4d5dfa6f5da4f6as5dfsdhgzxcvr4

ANOTHER_KEY = dhjdujfk5f64f8ghjdj5j56jhjh4jhf

.env-file-encrypted

transcrypt非常相似,但是transcypt加密了整个文件,我需要文件的密钥名称不加密,所以当构建在Github操作中运行时它可以找到变量的名称。构建不需要实际的秘密值。它失败了,因为我有一个配置文件:

import { ACCESS_KEY, ANOTHER_KEY} from 'react-native-dotenv'

并且当构建在 .env 文件中查找这些名称时,如果文件是使用 transcrypt 或 git-crypt 或任何其他加密整个文件的加密工具加密的,则无法找到它们.

这里是 react-native-dotenv 维护者!我查看了您的屏幕截图,发现了几个问题:

  1. 确保删除 .env 文件中 = 周围的所有空格,例如ACCESS_KEY=f4d5dfa6f5da4f6as5dfsdhgzxcvr4.
  2. 你需要做import { ACCESS_KEY, ANOTHER_KEY } from '@env'

Mozilla 有一个很好的工具,它只加密值而不加密秘密文件的密钥 https://github.com/mozilla/sops

在这里观看详细的教程视频:https://www.youtube.com/watch?v=V2PRhxphH2w