2015-07-23 2 views
2

При развертывании приложения Scala мы используем SBT для Jenkins. В настоящее время наше действие на строительство указано как clean assembly (с использованием Assembly plugin для производства толстых JAR). Наша сборка в настоящее время занимает 2-3 минуты, что разумно, но по мере того, как проект станет больше, а развертывания для частых, это может стать узким местом.Является ли сборка SBT надежной для регулярного развертывания без очистки?

Я помню, когда при развертывании на C++ с Visual Studio необходимо было очистить (перестроить все), в противном случае сборка иногда (скажем, 0,1%) была нарушена (скорее всего, потому что сборка пропустила некоторые измененные зависимости в заголовках).

Является ли это проблемой SBT? clean считается необходимой практикой для получения надежных сборок?

+0

Хотя 'clean' больше не требуется, I * have * имеет случаи, когда' clean' необходим для получения чистой сборки. –

+0

@MarioCamou Ваш опыт звучит очень интересно. Могли бы вы, возможно, написать ответ с более подробной информацией, например, о том, что было характерно для случаев, когда «чистый» был необходим, и каковы были проблемы, которые вы видели без него? – Suma

ответ

3

Мое впечатление, что иногда SBT смешивается, наиболее распространенная вещь, которую я видел, заключается в том, что она не может найти классы, которые являются частью проекта (и не скомпилированы на этот раз). У меня не было склонности действительно отлаживать его, так как выполнение clean исправляет его каждый раз, но для сервера CI я бы выбрал clean каждый раз.

Смежные вопросы