Назад | Перейти на главную страницу

Использование Jekyll с веб-перехватчиками Github для автоматического развертывания

Я дизайнер и хочу обслуживать некоторые статические сайты с помощью Jekyll.

Итак, я взял VPS (ubuntu 12.04) и установил nginx, ruby ​​и jekyll.

Я работаю с нескольких разных компьютеров в течение дня, поэтому я хотел использовать GitHub для облегчения работы с его клиентом. Поэтому я установил git, php5fpm (fastcgi) и настроил два основных скрипта, один для обработки веб-перехватчика (webhook.php) и один для компиляции и развертывания сайта (build.sh)


С некоторой помощью мне удалось продвинуться к тому моменту, когда я могу запустить сценарий сборки, но сценарий сборки останавливается при запуске команды Jekyll и выдает сообщение об ошибке:

bash: command not found

Это не тот случай, когда я использую обычного пользователя, поэтому я думаю, что это как-то связано с .bash_profile пользователя, запускающего воркеры nginx (что www-data).

Подводя итог, мой вопрос: как я могу сделать команду Jekyll доступной для www-data пользователь?

Не пытайтесь сделать Джекила доступным для www-data пользователь. Более чистый и лучший подход будет следующим:

  1. Создайте нового пользователя, который будет заниматься вашим сайтом Jekyll.
    • Сделайте Jekyll доступным для этого пользователя, проверьте, есть ли в нем все необходимое
  2. Создайте виртуальный хост, предназначенный для работы вашего сайта Jekyll
    • Сделайте так, чтобы он работал как новый выделенный пользователь
    • Сделайте его корень документа принадлежащим новому выделенному пользователю

Эта установка должна быть более простой для тестирования, отладки и репликации, а также более безопасной.