Задача вполне простая. Нужно пуллить с репозитория, а затем минифицировать файлы и класть в директорию.
Есть директория
/var/builder
, там лежат
gulpfile.js
,
package.json
и
node_modules
со всеми gulp-модули и сам gulp (версии 4.0). В package.json я прописал путь до gulp и запускаю gulp Из директории
/var/builder
.
Использую стандартные таски gulp-git, запускаю: gulp init -> gulp addremote -> gulp pull, все бы ничего, но оно спамит все в директорию
/var/builder
. А это плохо, так как в случае gulp push, он будет пытаться node_modules отправить на сервер.
Допустим, мы забьем на это, добавим их в .gitigore, но команда gulp checkout не работает. То есть если файлы удалятся, то он просто скажет
[19:02:43] Starting 'checkout'...
[19:02:43] D .gitattributes
D index.html
D scrollTo.jquery.js
Already on 'master'
Почему когда ставлю gulp clone он создает папку с названием репозитория в /var/builder
, но потом gulp pull не работает, даже если я сделаю gulp init, gulp addremote?Какую последовательность действий сделать, чтобы gulp делал pull репозитория в папку
/var/repo
, проверял, есть ли отсутствующие файлы, а затем в случае 100% идентичности репозитория выполнял мои таски
минификация, less, babel, destination?
Т.е. грубо говоря, нужно в первый раз делать это:
Копируем репозиторий -> Запускаем минификацию -> Копируем в public
А каждый последующий это:
Проверяем на наличие новых коммитов -> Скачиваем их -> Проверяем, не удалилось ли у нас что-то -> Репозиторий на 100% идентичен -> Минифицируем -> Копируем в puclic
Проблему добавляет то, что репозиторий большой, он приватный в BitBucket, а пароль каждый раз запрашивать не должен. Используя
https://login:password@bitbucket.org/company/repo - все равно запрашивал пароль. Причем очень странно: когда-то clone удавался, когда-то pull, когда-то просил пароль заново, а когда-то выдавал ошибку, хоть тресни.
P.S. Я уже бьюсь с этим третьи сутки, ничего не могу понять, почему так происходит. Уже думаю написать самому обертку для gulp'а, чтобы использовать git-команды напрямую, без этого чертова gulp-git.