2014-01-23 4 views
1

У меня есть проект, который прекрасно строится локально. Когда я бегу MVM чистой Deploy он строит отлично и дерзость-Maven плагин дает мне следующий вывод:Maven build with SASS не работает в Jenkins

[INFO] --- sass-maven-plugin:1.1.1:update-stylesheets (default) @ myapp-web --- 
[INFO] Compiling SASS Templates 
[INFO] Queing SASS Template for compile: /Users/750250/Projects/myapp/webapp/src/main/webapp => /Users/750250/Projects/myapp/webapp/src/main/webapp 
[INFO]  >> /Users/750250/Projects/myapp/webapp/src/main/webapp/catalogue/features/abTestStyles/css/S7669.abTest.boldKeywords.scss => /Users/750250/Projects/myapp/webapp/src/main/webapp/catalogue/features/abTestStyles/css/S7669.abTest.boldKeywords.css 
[INFO]  >> /Users/750250/Projects/myapp/webapp/src/main/webapp/catalogue/features/abTestStyles/css/S7728.abTest.common.scss => /Users/750250/Projects/myapp/webapp/src/main/webapp/catalogue/features/abTestStyles/css/S7728.abTest.common.css 
[INFO]  >> /Users/750250/Projects/myapp/webapp/src/main/webapp/catalogue/features/abTestStyles/css/S7728.abTest.noDescription.scss => /Users/750250/Projects/myapp/webapp/src/main/webapp/catalogue/features/abTestStyles/css/S7728.abTest.noDescription.css 
[INFO]  >> /Users/750250/Projects/myapp/webapp/src/main/webapp/catalogue/pages/coolSearchResults/css/coolSearchResults.scss => /Users/750250/Projects/myapp/webapp/src/main/webapp/catalogue/pages/coolSearchResults/css/coolSearchResults.css 
[INFO]  >> /Users/750250/Projects/myapp/webapp/src/main/webapp/catalogue/pages/hotSearchResults/css/hotSearchResults.scss => /Users/750250/Projects/myapp/webapp/src/main/webapp/catalogue/pages/hotSearchResults/css/hotSearchResults.css 
[INFO]  >> /Users/750250/Projects/myapp/webapp/src/main/webapp/catalogue/theme/bi_fr/css/pages/homeStatic.scss => /Users/750250/Projects/myapp/webapp/src/main/webapp/catalogue/theme/bi_fr/css/pages/homeStatic.css 
[INFO]  >> /Users/750250/Projects/myapp/webapp/src/main/webapp/catalogue/theme/bi_fr/css/pages/merchant.scss => /Users/750250/Projects/myapp/webapp/src/main/webapp/catalogue/theme/bi_fr/css/pages/merchant.css 
[INFO]  >> /Users/750250/Projects/myapp/webapp/src/main/webapp/catalogue/theme/bi_fr/css/pages/offer.scss => /Users/750250/Projects/myapp/webapp/src/main/webapp/catalogue/theme/bi_fr/css/pages/offer.css 
[INFO]  >> /Users/750250/Projects/bizratmyappe-eu-webapp/webapp/src/main/webapp/catalogue/theme/bi_fr/css/pages/product.scss => /Users/750250/Projects/myapp/webapp/src/main/webapp/catalogue/theme/bi_fr/css/pages/product.css 
[INFO]  >> /Users/750250/Projects/myapp/webapp/src/main/webapp/catalogue/theme/bi_fr/css/pages/searchResults.scss => /Users/750250/Projects/myapp/webapp/src/main/webapp/catalogue/theme/bi_fr/css/pages/searchResu 

Указав, что он работает. Однако, когда то же самое запускается из Дженкинс, я получаю следующий вывод из плагина

[pool-1-thread-1] INFO hudson.maven.Maven3Builder$MavenExecutionListener - --- sass-maven-plugin:1.1.1:update-stylesheets (default) @ myapp-web --- 
[pool-1-thread-1] INFO org.apache.maven.cli.event.ExecutionEventLogger - 
[pool-1-thread-1] INFO org.apache.maven.cli.event.ExecutionEventLogger - --- sass-maven-plugin:1.1.1:update-stylesheets (default) @ myapp-web --- 
[pool-1-thread-1] INFO org.jasig.maven.plugin.sass.UpdateStylesheetsMojo - Compiling SASS Templates 
[pool-1-thread-1] INFO org.jasig.maven.plugin.sass.UpdateStylesheetsMojo - Queing SASS Template for compile: /home/sitebuild/jenkins/workspace/{myapp}-myapp-webapp-{S7515}/webapp/src/main/webapp => /home/sitebuild/jenkins/workspace/{myapp}-myapp-webapp-{S7515}/webapp/src/main/webapp 

Оказывается, что она просто игнорирует или не подбирая содержимое этого каталога.

Что может вызвать такое поведение при запуске sass-maven-plugin внутри jenkins?

ответ

2

Я реплицировал вашу проблему, и, похоже, это ошибка в плагине SASS. Хорошей новостью является обходной путь.

Абсолютный путь, по которому ваш сервер Jenkins переходит в плагин, содержит фигурные скобки. Это общий источник ошибок в Ruby-программах, к которым подключен плагин Maven SASS. Выполнение этого локально реплицировало вашу проблему в точности - плагин запускается, а затем просто ничего не компилирует.

Когда я построил POM, который использовал относительные пути вместо абсолютных путей (src/main/sass vs ${project.dir}/src/main/sass)), можно было создать каталог, путь которого содержал фигурные скобки.

Было бы хорошо, если бы плагин сообщил, что путь, который он пытается скомпилировать, кажется проблематичным.

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