1commands icon indicating copy to clipboard operation
1commands copied to clipboard

Странный хардкод для параметров /P и /ConfigurationRepositoryP

Open demidych opened this issue 8 years ago • 12 comments

В библиотечном модуле выглядит странным хардкод для параметров

Функция ЗапуститьИПодождать()
...
Если Лев(Параметр, 2) <> "/P" и Лев(Параметр, 25) <> "/ConfigurationRepositoryP" Тогда

demidych avatar Jan 31 '17 10:01 demidych

@demidych Да, знаю про этот хардкод, портированный из v8runner. Он был направлен на решение задачи сокрытия паролей при запуске Конфигуратора/Предприятия 1С в режиме СI/CD

Давно думаю отказаться от него.

Но ИМХО можно/нужно добавить фичу сокрытия паролей. Например, добавив метод ОтключитьПоказПараметраВЛоге(ИмяПараметра)

/cc @EvilBeaver @nixel2007

artbear avatar Jan 31 '17 11:01 artbear

Поддерживаю.

nixel2007 avatar Jan 31 '17 13:01 nixel2007

Сервера CI сами умеют прятать пароли, так что да - можем отказаться, я не против. Даже "режим прятания" не нужен, если разобраться.

EvilBeaver avatar Jan 31 '17 14:01 EvilBeaver

@EvilBeaver Какие сервера CI поддерживают прятание? даже в логах и сторонних файлах, если туда пишет сторонний инструмент?

@nixel2007 Что поддерживаешь? отказ или отказ + добавление фичи скрывания??

artbear avatar Jan 31 '17 15:01 artbear

Сторонний инструмент сервера вроде не смогут спрятать. Метод мне нравится. Думаю, можно в имеющийся метод добавления параметра команды добавить ещё один параметр (Прятать=Ложь)

nixel2007 avatar Jan 31 '17 16:01 nixel2007

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

EvilBeaver avatar Feb 02 '17 03:02 EvilBeaver

И еще, мне кажыца, что нужно делать так же. Не прятать параметры совсем, а заменять на звездочки, чтобы наглядно было видно, что ключи переданы, но маскированы

EvilBeaver avatar Feb 02 '17 03:02 EvilBeaver

И последнее. Хардкод ключей в скрипте, работающем с платформой на низком уровне это нормально. Скрипт имеет право знать семантику ключей платформы. Так что я против спецметода с булевым флажком ПрятатьПараметр

EvilBeaver avatar Feb 02 '17 03:02 EvilBeaver

Но дело же не только в платформе. 1коммандс - библиотека :) я не хочу, чтобы где-нибудь внезапно вылетел мой гитхаб-токен например

nixel2007 avatar Feb 02 '17 05:02 nixel2007

Может добавить реквизит модуля мСкрываемыеПараметры, который по умолчанию будет заполняться параметрами /P и "/ConfigurationRepositoryP", который можно будет дополнить методом ДобавитьСкрываемыеПараметры() ? И значения всех этих параметров подменять на звездочки. Или на ¯ \ _ (ツ) _ / ¯

Stepa86 avatar Feb 02 '17 12:02 Stepa86

Та не. /P и /ConfigurationRepositoryP должен явно устанавливать v8runner, потому что он знает, какие ключи надо передавать платформе. А дефолтное значение этого секретного списка - пустое.

Если пользователь сам руками запускает через 1commands конфигуратор, то он ССЗБ.

nixel2007 avatar Feb 02 '17 12:02 nixel2007

Ну еще как вариант какой нить конфигурационный файл рядышком положить, в котором будут перечислены скрываемые параметры

Stepa86 avatar Feb 02 '17 13:02 Stepa86