Ключи шифрования для раздела развертывания в Travis CI

Я пытаюсь выполнить развертывание в корзине S3 из Travis CI S3: http://docs.travis-ci.com/user/deployment/s3/

Шифрование ключей с использованием процесса, описанного в http://docs.travis-ci.com/user/encryption-keys/

Когда клавиши не требуют экранирования все работает нормально, а вот когда требуют насколько я понимаю есть два варианта:

  1. escape с помощью кавычек и двойной обратной косой черты "\\<symbol>"
  2. escape с помощью одинарных кавычек и обратной косой черты '\<symbol>'

Оба терпят неудачу с: Aws Secret Key does not match Access Key Id, Stopping Deploy

Любая идея, как обойти это? Это известная ошибка?


person Grozz    schedule 31.07.2015    source источник
comment
Только одинарные кавычки и без обратной косой черты   -  person yadab    schedule 08.08.2015
comment
Непривлекательной альтернативой является размещение ваших ключей в файлах и использование методов шифрования файлов Travis, а затем использование чего-то вроде $(cat myfile) в ваших командах.   -  person    schedule 12.08.2015


Ответы (1)


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

Строки будут обрабатываться так же, как bash обрабатывает строки.

Самый простой способ - заключить его в одну кавычку и прочитать каждый из символов как литерал (читается напрямую как ascii). В качестве альтернативы, если оно заключено в двойные кавычки, на него будет распространяться Расширение оболочки и специальные символы необходимо экранировать.

Понятную документацию по каждому делу можно найти здесь:

Справочная страница GNU с одинарными кавычками

Справочная страница GNU с двойными кавычками

person Luke Exton    schedule 13.08.2015