0

Мои файлы Jekyll хранятся в BitBucket, и я хотел бы иметь возможность автоматически генерировать папку _site при каждом новом изменении, которое будет нажато. (Заметьте, я не хочу подталкивать мою папку _site в git, это не может быть и речи).Как автоматизировать создание и размещение сайта Jekyll на веб-сервере по FTP

Как только этот _site создан, я хотел бы автоматически развернуть его на своем веб-сервере по FTP.

Возможно ли это? Какие у меня варианты?

Спасибо!

ответ

1

Поскольку вы не указали, куда отправится папка _site, вот общий ответ.

Короче говоря, вам потребуется веб-сервер или сервис, который прослушивает для Bitbucket сообщения Commit Крюк, вот relevant documentation для этого.

Таким образом, при каждом нажатии BitBucket инициирует действие и уведомляет ваш сервер/приложение/службу, которые затем будут строить новый _site и развертывать туда, где вы хотите.

Вот хороший учебник по настройке его с использованием заданий cron и веб-сервера. link

Простой VPS также будет работать, или небольшая виртуальная машина Amazon EC/Azure.

Конечно, они, вероятно, не будут на 100% бесплатными.

Если вы ненавидите с помощью серверов, непрерывного действия службы интеграции (CI) может быть использован вместо, где при фиксации крючков вызовет сборку,

Travis-CI и Drone.io являются бесплатными для публичных сделок РЕПО, но если ваше репо является приватным, вам придется пойти на платный сервис. Есть и много других.

(Примечание Travis-CI не совместим с BitBucket на момент написания, она работает с GitHub)

В основном CI используется для выполнения тестов, но помимо этого, мы можем использовать его для создания сборки и нажмите или скопируйте _site куда-нибудь, может быть, ваш собственный сервер. Или в случае, как эта статья описывает это, другое репо. (Прочитайте 'Becoming a Jekyll God' о том, как некоторые творческие способы развертывания)

+0

Спасибо за большой ответ matrixanomaly! Содержимое моей _site-папки перейдет в мою папку public_html на моем веб-сервере. Моя проблема на данный момент заключается в том, что у меня нет корневого доступа к веб-серверу, потому что это общий хостинг, поэтому я не могу на самом деле прослушать фиксацию post commit. Мое намерение состояло бы в использовании отдельного VPS, который будет прослушивать фиксацию post commit, построить _site на VPS, а затем FTP, что на моем веб-сервере. Является ли ссылка, которую вы предоставляете относительно работы cron и фляжки, все еще действительна для этого? – jmak35

+0

@ jmak35 Я не понимаю, почему это не сработает, если вы можете получить отдельный VPS, который может слушать сборку крючков и делать FTP на ваш веб-сервер, он должен работать. Однако я никогда не делал таких настроек, поэтому я ничего не могу гарантировать, поэтому лучше всего попробовать и написать сообщение об этом: задания P Cron и сценарии оболочки тоже могут работать! (Edit: или вы можете переместить ваш источник jekyll на страницы github и использовать travis ci для подключения, частный тоже работает, если вы готовы заплатить) – matrixanomaly

+0

Вот учебник по трассу построения трави: http: // ellismichael.com/technical/2015/06/12/using-travis-ci-with-github-pages/ – matrixanomaly