Git Can';在持续集成过程中不泄露秘密

Git Can';在持续集成过程中不泄露秘密,git,travis-ci,gnupg,git-secret,Git,Travis Ci,Gnupg,Git Secret,使用git secret,我对应用程序所需的几个API密钥进行了加密。现在,我正在尝试与Travis CI集成以进行部署,我需要Travis能够解除这些文件的加密并将其公开 为此,我创建了一个新的密钥对,用于加密我的所有文件,然后将公钥和私钥添加到我的repo中(私钥由Travis CI加密)。然后,我可以使用以下命令将两个键添加到gpg中: gpg --import travis.key echo $SECRET_PASSWORD | gpg --batch --import travis.p

使用git secret,我对应用程序所需的几个API密钥进行了加密。现在,我正在尝试与Travis CI集成以进行部署,我需要Travis能够解除这些文件的加密并将其公开

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

gpg --import travis.key
echo $SECRET_PASSWORD | gpg --batch --import travis.privatekey
但是,当我尝试使用
git secret reveal-p$secret\u PASSWORD
对这些文件进行解密时,会出现以下错误:

git secret:abort:找不到用户的公钥。快跑吧,告诉我秘密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导入密钥,签出我的repo,并使用
echo$SECRET|u PASSWORD | gpg--batch--import travis.privatekey

将docker实验也包括在内吗?@HaraldNordgren添加了docker文件,并解释了我对测试所做的操作。