Re[21]: msbuild поверх xml - была плохая идея?
От: · Великобритания  
Дата: 28.11.23 09:53
Оценка:
Здравствуйте, karbofos42, Вы писали:

K>·>Конечно, настроить нужно — указать адреса, пароли, явки. А дальше у тебя хоть каждые пол часа будут проверяться версии, зависимости, лицензии и т.п.

K>·>Ты же предлагаешь делать всё вручную, описывая в доках со скриншотами как это делать. Нет, спасибо, я слишком ленивый чтобы этим заниматься.
K>Я вообще не понимаю зачем это автоматизировать. Мне не нужны последние версии библиотек только потому, что они вышли.
Ты тут выше требовал, что тебе непременно нужно 42.7.0, а текущее 42.6.0 тебя не устраивает, т.к. на mvnrepository ты увидел, что вышла новая версия 6 дней назад. Я тоже тебя не понял — зачем, но пытался предложить тебе решение.

K>От того, что у меня в проекте появится PR, который в файле проекта версии библиотек перепишет, я его не одобрю.

K>Если с текущей версией библиотеки есть проблема, то я почитаю чего там менялось, попробую обновиться и перепроверю, что проблема ушла.
K>Если всё работает нормально, то зачем мне обновляться?
Уменьшать технический долг. Иначе когда тебе понадобится обновиться, выяснится, что при переходе с очень старой версии на нужную всё сломалось и вообще неясно как чинить.
Плюс часто это обязуют делать при обнаружении дыр. Тот же mvnrepository ведёт список Vulnerabilities для библиотек.

K>·>Так он это делает сам, автоматически.

K>Сначала нужно вручную его настроить, а потом не забыть, что обновляется он с какой-то периодичностью.
Как и любой автоматический билд... Или собираешь ты тоже вручную?

K>Выложишь свою библиотеку в свой закрытый репозиторий и жди, когда индекс обновится? Или скорее всего плюнешь и просто пропишешь нужную версию вручную?

Индекс для автокомплита, чтобы в процессе набора кода тебе что-то показалось сразу. Апдейт явно провеяет новые версии напрямую.

K>·>Ты видимо не понял. pom.xml это и есть документация по сборке, которую читает и выполняет машина. Если там что-то не указано, оно просто не собирается.

K>Это ты видимо не понял. Как заказчику проверить, что исполнитель ему предоставил собирающиеся исходники и вообще их собирает?
Эээ.. что за хрень? А какой-нибудь Newtonsoft.Json у себя на серверах собираешь? И Студию?

K>Завтра он захочет отдать проект на доработку другому разработчику и окажется, что на руках у него не всё, что нужно для сборки?

Т.е. исходников с msbuild-файлом не хватает? Ну это проблема msbuild.

K>По-моему логично заказчику на своей стороне настроить сборку, тестировать и использовать то, что у него собралось, а не что подрядчик прислал или на своей стороне настроил.

Нет, не логично. Или ты gentoo-шник?

K>·>У меня будет ошибка "не могу скачать артефакт XXX с сервера YYY — доступ запрещён". И там уже обычно ясно куда и к кому идти и какие пароли для чего искать.

K>·>У тебя будет ошибка "Нет такого XXX". Дальше что? Куда идти?
K>Я новому сотруднику предоставлю настроенное рабочее место и документацию о том где что брать.
K>Ну, вот пришёл новый человек и получил ошибку доступа к репозиторию и что? Пойдёт к своему руководителю и спросит доступ.
Именно. Он спросит про конкретный сервер, конкретный credentials. Так или иначе придётся как-то оформлять информацию о том какие источники артефактов требуются для каждого конкретного проекта. Лучше это оформлять как часть исходников проекта, а не некая абстрактная документация хз где и хз насколько устаревшая.
Есть такие системы, что при заходе на запрещённый сервер появляется "access denied" и ссылочка "создать тикет". Т.е. к тебе не человек придёт, к тебе придёт запрос заапрувить доступ к ресурсу такому-то человеку.

K>Будет ошибка, что нет такого-то пакета — точно так же пойдёт и спросит чего не собирается проект.

K>Не вижу никакой разницы.
Разница в том, что будет инфа о том _где_ этот пакет лежит.

K>·>Более того, в больших организациях будет какой-нибудь AD, где работнику дают права на сервера и это сразу доступно с его компа, settings.xml поддерживается инфраструктурой. Да и вообще обычно RO-доступ есть по умолчанию.

K>И конфиг Nuget внезапно прекрасно через AD прокидывается.
А в чём тогда проблема-то тогда? Если тебе очень хочется спрятать информацию о репозиториях, чтоб враг не догадался, ты её можешь разместить в settings.xml на каждом конкретном компе, а не в pom.xml самих проектов. Или вообще через командную строку передавать, пока никто не смотрит.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.