3

使用 git-secret,我加密了我的应用程序所需的几个 API 密钥。现在,我正在尝试与 Travis CI 集成进行部署,我需要 Travis 能够解密这些文件并显示它们。

为此,我创建了一个新的密钥对,用它来加密我的所有文件,然后将公钥和私钥都添加到我的存储库中(私钥由 Travis CI 加密)。然后我可以使用以下命令将这两个键添加到 gpg 中:

gpg --import travis.key
echo $SECRET_PASSWORD | gpg --batch --import travis.privatekey

但是,当我尝试使用 解密这些文件时git-secret reveal -p $SECRET_PASSWORD,出现以下错误:

git-secret: abort: no public keys for users found. run 'git secret tell email@address'.

看起来我添加的密钥没有被添加,或者它们添加到的密钥环没有被使用。我已经在自己的 docker 映像中尝试过这个,而且效果很好,所以我不明白为什么 Travis 会以不同的方式工作

用于以下测试的 Dockerfile:

FROM ubuntu

RUN apt-get update && apt-get install git-secret -y

COPY travis.key .
COPY travis.privatekey .

构建后,我能够启动 docker 映像,从 bash 导入密钥,签出我的仓库,并按预期使用echo $SECRET_PASSWORD | gpg --batch --import travis.privatekey

4

0 回答 0