Carduelis
@Carduelis
Web-developer, front-end, js, less

Как вообще можно пользоваться gulp-git?

Задача вполне простая. Нужно пуллить с репозитория, а затем минифицировать файлы и класть в директорию.
Есть директория /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.
  • Вопрос задан
  • 1498 просмотров
Пригласить эксперта
Ответы на вопрос 1
littleguga
@littleguga
Не стыдно не знать, а стыдно не интересоваться.
По-моему Вы пытаетесь сделать собственную реализацию continuous integration. Возьмите готовое.

upd:
Travis/Jenkins, вот how-to:
Website Continuous Integration with Travis CI, Jek...
Building a Node.js project
First Steps In Setting Up Travis CI To Your Javasc...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы