Travis заменяет все экземпляры зашифрованного значения на [secure] в журнале сборки - PullRequest
0 голосов
/ 08 января 2020

У меня есть репозиторий, настроенный с помощью TravisCI, и в файл .travis.yaml включены два зашифрованных значения: имя пользователя и пароль (зашифрованные с использованием travis encrypt --pro USERNAME=<username> и аналогичным образом для пароля). Это имя пользователя также является частью имени репозитория, в котором работает travis.

В связи с тем, как настроена сборка, в какой-то момент имя репозитория выводится в журналах.

Что я заметил, так это то, что хотя использование имени пользователя / пароля было выполнено с переменными (такими как echo $PASSWORD | docker login -u $USERNAME --password-stdin), и это работало нормально (ничего не чувствительно записывается в вывод), любое другое вхождение имени пользователя было помечено как [secure]

Например, если USERNAME было определено как foobar, а репо - foobar/myrepo, то при печати имени репо это выглядит как [secure]/myrepo. Это означает, что если бы кто-то имел доступ к журналам сборки и репозиторию, он мог бы мгновенно выяснить, какое имя пользователя основано на том факте, что другое вхождение foobar было помечено [secure].

Поскольку я хотел бы сохранить используемое имя пользователя в секрете (даже если эта же строка используется в другом месте), возможность извлечь его не идеальна.

Существует ли какой-то способ гарантировать, что Travis заменяет только зашифрованные значения с [secure], если его источником является зашифрованная переменная?

...