gpt4 book ai didi

github - Travis CI 可以在同一个 repo 的不同分支中使用加密文件吗?

转载 作者:行者123 更新时间:2023-12-04 02:16:06 25 4
gpt4 key购买 nike

我正在尝试让 Travis CI 构建在我自己的私有(private)分支和我组织的仓库中工作。

我使用 travis encrypt-file 命令加密了一个配置文件,它似乎在 travis 设置中为我自己的 fork 创建了两个环境变量,看起来像:“encrypted_d1234_key”和“encrypted_d1234_iv” .

这些在构建运行时用于解密配置文件,如下所示:

openssl aes-256-cbc -K $encrypted_d1234_key -iv $encrypted_d1234_iv -in test.config.enc -out test.config -d

我能否以某种方式将这些安全环境变量复制到我的组织的存储库的设置中,以便构建可以解密配置文件,无论它是在我的分支中还是在我的组织的分支中。

或者是否有更好的方法来处理这些情况?

这可能与以下问题相同:What do I need for Travis-CI to decrypt secure variables on my fork?

最佳答案

我想出了一个方法来让它工作。由于您无法获得 Travis 为您生成的 key ,因此您只需要生成自己的 key 即可。然后,加密你的 secret 元素并将 key 推送到任何需要它们的私有(private)仓库(以及你信任的成员):

openssl aes-256-cbc -K 1000000000000000000000000000000000000000000000000000000000000001 -iv 10000000000000000000000000000001 -in test.config -out test.config.enc

现在,我们将 key 交给 Travis,Travis 按每个存储库存储它们。这些命令将它们存储在 git 中设置为“来源”的任何 repo 中:

travis env set encrypted_d1234_key 1000000000000000000000000000000000000000000000000000000000000001
travis env set encrypted_d1234_iv 10000000000000000000000000000001

还将它们存储在您组织的存储库中。

travis env set encrypted_d1234_key 1000000000000000000000000000000000000000000000000000000000000001 -r MyOrg/MyRepo
travis env set encrypted_d1234_iv 10000000000000000000000000000001 -r MyOrg/MyRepo

这在 Encrypting Files 的“手动加密”部分有(部分)解释。文档。

请注意,有一些 Security Restrictions when testing Pull Requests . Travis 为您提供了一个环境变量,因此您可以有条件地跳过需要安全配置的测试。

关于github - Travis CI 可以在同一个 repo 的不同分支中使用加密文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33558136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com