1commands
1commands copied to clipboard
Странный хардкод для параметров /P и /ConfigurationRepositoryP
В библиотечном модуле выглядит странным хардкод для параметров
Функция ЗапуститьИПодождать()
...
Если Лев(Параметр, 2) <> "/P" и Лев(Параметр, 25) <> "/ConfigurationRepositoryP" Тогда
@demidych Да, знаю про этот хардкод, портированный из v8runner. Он был направлен на решение задачи сокрытия паролей при запуске Конфигуратора/Предприятия 1С в режиме СI/CD
Давно думаю отказаться от него.
Но ИМХО можно/нужно добавить фичу сокрытия паролей.
Например, добавив метод ОтключитьПоказПараметраВЛоге(ИмяПараметра)
/cc @EvilBeaver @nixel2007
Поддерживаю.
Сервера CI сами умеют прятать пароли, так что да - можем отказаться, я не против. Даже "режим прятания" не нужен, если разобраться.
@EvilBeaver Какие сервера CI поддерживают прятание? даже в логах и сторонних файлах, если туда пишет сторонний инструмент?
@nixel2007 Что поддерживаешь? отказ или отказ + добавление фичи скрывания??
Сторонний инструмент сервера вроде не смогут спрятать. Метод мне нравится. Думаю, можно в имеющийся метод добавления параметра команды добавить ещё один параметр (Прятать=Ложь)
Тимсити и бамбуха делают стрзаменить в своем выводе, если какой-то параметр сборки содержит слово пассворд. В Женькинсе что-то такое тоже вроде как было.
И еще, мне кажыца, что нужно делать так же. Не прятать параметры совсем, а заменять на звездочки, чтобы наглядно было видно, что ключи переданы, но маскированы
И последнее. Хардкод ключей в скрипте, работающем с платформой на низком уровне это нормально. Скрипт имеет право знать семантику ключей платформы. Так что я против спецметода с булевым флажком ПрятатьПараметр
Но дело же не только в платформе. 1коммандс - библиотека :) я не хочу, чтобы где-нибудь внезапно вылетел мой гитхаб-токен например
Может добавить реквизит модуля мСкрываемыеПараметры, который по умолчанию будет заполняться параметрами /P и "/ConfigurationRepositoryP", который можно будет дополнить методом ДобавитьСкрываемыеПараметры() ? И значения всех этих параметров подменять на звездочки. Или на ¯ \ _ (ツ) _ / ¯
Та не. /P и /ConfigurationRepositoryP должен явно устанавливать v8runner, потому что он знает, какие ключи надо передавать платформе. А дефолтное значение этого секретного списка - пустое.
Если пользователь сам руками запускает через 1commands конфигуратор, то он ССЗБ.
Ну еще как вариант какой нить конфигурационный файл рядышком положить, в котором будут перечислены скрываемые параметры