Travis encrypt vars не декодируется должным образом тарабарщина=[secure]

Я пытаюсь использовать некоторые зашифрованные vars с travis-ci.com, и они неправильно декодируют, когда travis выполняет сборку из коммита. Вы можете видеть, когда он делает экспорт, это просто тарабарщина VAR.

Настройка:

  1. Запуск на Ubuntu: buster/sid
  2. Я установил ruby-full
  3. Я установил драгоценный камень travis: 1.8.8
  4. Я вытащил свое репо и выполняю команды шифрования в папке с .travis.yml
  5. Он попросил меня убедиться, что у него есть правильное репо при первом запуске команды шифрования.
  6. Я ожидаю, что получу правильный открытый ключ, но это точно не похоже на это.
  7. Все это происходит в докер-контейнере.
  8. Я обязуюсь стать мастером. Нет запроса на вытягивание.

Другие вещи, которые я пробовал или уже напортачил:

  1. Одинарные кавычки вокруг var.
  2. Множественные переменные или отсутствующий дефис. Наличие нескольких переменных немного меняет формат, так как у них есть "-" перед безопасным. Тогда строка будет выглядеть так: - secure INXfNQealZn84xzQ6M0g...
  3. Запустил шифрование в неправильной папке репо.

Команды, используемые для создания MYVAR:

root@31ee1eba15d3:~/tigelane/stuff# travis encrypt MYVAR="somestuff" --add env.global
root@31ee1eba15d3:~/tigelane/stuff# tail -3 .travis.yml
env:
  global:
    secure: INXfNQealZn84xzQ6M0gyhqPOeF1GhOZ8g7V6bqqqZbbgPsW1eOUntJOMo/uilvG8j6BbV3SW8kiDjmH4TjrTCKJ4hevzunoKumXXGpiYQNj74LsCPgyiohebyWgf4cP/F71ay6vHzghfGYAnu2svBMHKIFTj8s8aOCVDIo/ntsmkeeRVfOMMMNFbNQEHTqSw0981xYdrMVrISFw/BgEHia0PQn7Ll9YUN0/lQ9AFamyrflfp8dS3toP0fZiPnfgxIaENXS1wsQkCheday6quyAG8j6LE9YUHLq4Yzv5ZyRp/aOivugc8MKA+qAcFGpwhrcAGz5Rbo9lNXFnrcF93mqBs2FO0OLOWExjBryPH5shO/YWGNYWDX8cykOC4+AXmlUMcsgIHihKXSHB0E5Qo+dFyVKKSeLfpLOVHg+utf1thm9pxhW2DGynqCktHS26Bnfhr5Hay2CCYrv+eI8E5sv8ZzqRPDNdtuCsIxO1+UCVfavp9BDW3YxtZg44TNR+fA258SFa7KZtJtG95kOPNwWnBJQiITuu85OjY36pCwsJX0vq883RAOA/jIdNn+eYsyvyHi5cfQGUPD3HGLh9+zN+LQURXHrYu6tfjPjcIk83c37MtGEfmYcwgLzAxYL61SXJbr0IIEVc1x3+sqI72mUtHwsyUxmgpoGVoyZcJrg=

Вывод, который я получаю в журнале Travis Job:

Setting environment variables from .travis.yml
$ export sqI72mUtHwsyUxmgpoGVoyZcJrg=[secure]

Вывод, который я ожидал увидеть в журнале Travis Job:

Setting environment variables from .travis.yml
$ export MYVAR=[secure]

person Tige Phillips    schedule 12.08.2018    source источник


Ответы (2)


Я знаю решение, по крайней мере, в моем случае. Когда вы используете travis encrypt. Вы должны указать, используете ли вы домен travis-ci.com или нет. Если вы используете общедоступный github, связанный с интеграцией travis. Вам нужно использовать параметр --com

Пример:

travis encrypt --com "MYVAR='something'"

Это дает правильный вывод. В руководстве этому флагу не придается достаточного статуса, поэтому я сначала не заметил его, не совсем понимая, что он делает. По-видимому, это потому, что у него другой ключ шифрования.

person Christopher Thomas    schedule 22.04.2019
comment
Огромное спасибо, я буквально понятия не имел, официальный документ должен указать на это, потому что это совсем не очевидно. - person Kohányi Róbert; 10.07.2019

Вы забыли прочерк:

env:
  global:
    - secure: INXfNQe…

См. https://docs.travis-ci.com/user/environment-variables/#defining-encrypted-variables-in-travisyml

person phd    schedule 12.08.2018
comment
Спасибо доктор философии. Я использовал аргумент командной строки --add, это не копирование и вставка. Дефис появляется только тогда, когда вы добавляете более одной защищенной переменной. В любом случае, я добавил тире, и там 0 разных. Та же ошибка и вывод в файл журнала. Я отредактирую вопрос, чтобы было немного понятнее, что он пробовал с тире. - person Tige Phillips; 13.08.2018
comment
Я пробовал оба способа, и это не сработало для меня. Я пробовал различные методы, чтобы правильно расшифровать информацию. Ничего не сработало. - person Christopher Thomas; 22.04.2019