#javascript #deployment #gulp #shipitjs
#javascript #развертывание #gulp #shipitjs
Вопрос:
Я пытаюсь использовать shipit для развертывания dest/
папки, которая уже создана в файловой системе (с использованием gulp), но не извлечена в git, на удаленном компьютере.
Однако, вместо повторной синхронизации существующего каталога с удаленным, он пытается клонировать репозиторий в рабочей области, где моя dest/
папка не существует, и завершается неудачей.
Исключение параметра repositoryUrl также приводит к сбою.
Есть ли какой-либо способ добиться этого с помощью shipit? Или это противоречит концепции shipit, и моя dest/
папка должна быть создана с использованием их плагинов?
Мой поток:
Сборка из src/
-> dest/
(Gulp) -> Тестирование -> Развертывание dest/
на удаленный (shipit)
Моя конфигурация shipit:
default:
workspace: '/tmp/.shipit'
dirToCopy: './dest/'
repositoryUrl: git@gitlab.com:group/repo.git
...
staging:
servers: 'www-data@remote.com'
deployTo: '/path/to/ship/to/'
Ответ №1:
Решение состояло в том, чтобы быть более конкретным в отношении задач развертывания, которые были запущены, и указать рабочее пространство в качестве текущего рабочего каталога следующим образом:
default:
workspace: './'
dirToCopy: 'dest'
Выполняются только следующие задачи:
- развертывание: инициализация
- развертывание: обновить
- развернуть: опубликовать
- развернуть: очистить
- развертывание: завершение
Т.е. удалить deploy:fetch
задачу из набора задач по умолчанию.
Этого стало проще достичь, используя модуль Shipit Captain для интеграции с gulp.