Pull to refresh

Comments 6

Gradle for .NET?)

Выглядит любопытно. Не раскрыта тема менеджмента библиотек — она перекладывается на плечи NuGet? Если да — то это плохо, как по мне. Все же менеджмент зависимостей иногда бывает связан с процессом сборки.
Gradle for .NET?)

Да, что-то очень похожее.
Выглядит любопытно. Не раскрыта тема менеджмента библиотек — она перекладывается на плечи NuGet? Если да — то это плохо, как по мне. Все же менеджмент зависимостей иногда бывает связан с процессом сборки.

В .NET мире NuGet широко распространен, так что не стоит его бояться. Cake не накладывает никаких ограничений на менеджмент зависимостей — можно реализовать хоть инъекции dll, просто в качестве примера было удобно привести NuGet, поскольку над ним в Cake из коробки есть удобная обертка.
>CI-сервер накладывает Vendor-lock и зачастую требует «программирования мышкой», следовательно и отвязывает версию процесса сборки от версии кода в репозитории, хотя некоторые CI системы и позволяют хранить файлы с описанием процесса сборки вместе с кодом.

А что, есть такие, которые не позволяют?

>Использование CI не позволяет собирать код локально так же, как и на CI-сервере

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

Travis-CI, например, наоборот не позволяет программировать мышкой — все в конфиге описывается.

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

А что, есть такие, которые не позволяют?

Например, Teamcity, если не ошибаюсь, только с версии 9.0 научился синхронизировать настройки с конфигурационным файлом из репозитория. Да и сами проекты/конфигурации сборки все равно придется заводить через интерфейс.
Не могу себе представить CI сервер, не позволяющий собрать тем же инструментом, которым собирают без него.

Использование того же Cake или любой альтернативы ни в коем случае не отменяет использование CI сервера, но у них немного разные задачи. Иногда на CI сервер накладывают слишком много обязанностей и он выполняет именно шаги сборки, которые в таком случае становится трудно повторить локально.

Опять же, процесс сборки может быть нетривиальным — например, c инъекцией dll проектам в разных солюшенах с проверкой консистентности. В этом случае, чтобы описать легкочитаемый билд, нужно обладать довольно хорошими навыками скриптовых языков, а этим, как показывает практика, не всегда легко овладеть.
Sign up to leave a comment.

Articles