Используя 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'.
Похоже, либо добавленные мной ключи не добавляются, либо набор ключей, к которому они добавлены, не используется. Я пробовал это в моих собственных образах докеров, и это прекрасно работает, поэтому я не могу понять, почему Трэвис будет работать по-другому
Dockerfile, используемый для тестирования ниже:
FROM ubuntu
RUN apt-get update && apt-get install git-secret -y
COPY travis.key .
COPY travis.privatekey .
После сборки я смог запустить образ докера, импортировать ключи из bash, оформить репозиторий и раскрыть секреты, как и ожидалось, используя echo $SECRET_PASSWORD | gpg --batch --import travis.privatekey