Скомпилированная в Gulp папка CSS отсутствует в конвейере Azure DevOps Артефакт сборки - PullRequest
0 голосов
/ 02 января 2019

Немного фона ...

У меня есть небольшое базовое приложение dotnet, которое размещено в Azure и создается и разворачивается с помощью конвейеров разработки Azure. Прежде чем мы начали использовать конвейеры DevOps, CI был подключен непосредственно к Azure, который прекрасно скомпилировался, но для развертывания потребовалось реальное время жизни, поэтому было принято решение о перемещении.

Однако конвейер сборки больше не компилирует и не выводит папку sass / css

Все остальное работает нормально - я регистрируюсь, конвейер Build получает мои коммиты и выполняет следующие шаги:

  1. Восстановить [.NET Core]
  2. Сборка [.NET Core]
  3. Опубликовать [.NET Core]
  4. Опубликовать артефакт сборки

Часть шага 3 (Опубликовать) использует задачу Gulp:

gulp.task('prod', function (callback) {
    runSequence('clean','set-prod',
    ['icon-sprite', 'logo-sprite', 'images', 'sass', 'modernizr', 'mainjs', 'adminjs'], 
           callback);
});

И локально (и ранее) сгенерировано пять папок:

  • значки
  • img
  • JS
  • логотипы
  • css (теперь таинственно отсутствует в действии)

Вариации, которые я пробовал

Я попытался удалить мою локальную папку css и запустить CLI dotnet publish точно так же, как , как это делает конвейер, и, похоже, он работает локально.

Я также удалил задание sass назад на тот случай, если это вызвало проблему где-то в конвейере, так что теперь это выглядит так:

return gulp.src('src/sass/style.scss')
    .pipe(sass({outputStyle: 'compressed'}))
    .pipe(gulp.dest('wwwroot/dist/css));

Я вижу все результаты в журналах консоли на конвейере, и он успешно выполняет задачу sass:

2019-01-02T14:43:51.3558593Z   [14:43:51] Starting 'sass'...
2019-01-02T14:43:51.9284145Z   [14:43:51] Finished 'sass' after 524 ms

В скрипте сборки нет других ошибок или предупреждений, и все завершается и запускается конвейер Release (который копирует артефакт на сайт Azure).

Спекуляции

Я бы где-то ожидал ошибки ... но ничего - все зеленые галочки совершенно веселые ... так что я немного озадачен тем, что может или не может происходить! Я могу только думать, что должна быть какая-то зависимость или чего-то не хватает в среде конвейера? Оррррр, может, я пропускаю шаг конвейера?

Буду очень признателен за любую помощь, толчок или идеи! Спасибо за то, что выложили его через мое небольшое эссе и за любую помощь, которую вы можете оказать:)

1 Ответ

0 голосов
/ 02 января 2019

Что-то, что я делал в этой ситуации раньше, - это изменение задачи «Опубликовать артефакт сборки» для загрузки всего в папку сборки. Я предполагаю, что сейчас значение «Путь к публикации» в этой задаче установлено в $ (build.artifactStagingDirectory). Измените его на $ (build.SourcesDirectory). После повторного запуска сборки вы увидите, что весь каталог сборки был загружен. Это включает в себя ваш исходный код и любые другие папки, как у вас в вашей локальной среде. Оттуда вы можете выяснить, действительно ли отсутствует папка CSS или она попала в какую-то другую папку.

Если папка окажется в странном месте, вы можете добавить задачу копирования файла, чтобы переместить папку CSS в нужную папку в $ (build.artifactStagingDirectory), или внести изменения в задачу Gulp. Что лучше для твоего сценария.

Найдя местоположение, вы можете исправить задачу Publish Build Artifact.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...