Задать вопрос
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.
  • Вопрос задан
  • 1504 просмотра
Подписаться 4 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • ProductStar
    Python + Flask + Git: веб-разработка с нуля
    2 месяца
    Далее
  • Учебный центр IBS
    DEV-007 Введение в систему контроля версий Git
    1 неделя
    Далее
  • Stepik
    Git (система контроля версий)
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 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...
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
Made In Dream Санкт-Петербург
от 100 000 до 220 000 ₽
от 250 000 до 320 000 ₽