Bash файл ведет себя по-другому с сервисом Upstart

Я пытаюсь создать службу, которая развертывает приложение из репозитория git. Для этого я выполняю JS-сценарий узла, который прослушивает порт на сервере, и каждый раз, когда разработчик отправляет репо, он отправляет запрос на этот порт на моем сервере. Затем мой скрипт nodejs выполняет скрипт bash для развертывания приложения.

Это работает, когда я ставлю точки вручную:

  1. Я захожу на свой сервер с пользователем mmarteau.
  2. Я иду в каталог ~/deploy и запускаю node index.js.
  3. Я делаю запрос на мой URL, и мое приложение развертывается само.

Так что я попытался сделать выскочку службы, чтобы автоматизировать это. Вот мой выскочка сервис:

description "Service permettant le déploiement d'une application depuis bitbucket"
author "Mathieu Marteau"

start on filesystem runlevel [2345]
stop on shutdown
respawn
setuid mmarteau

exec /usr/bin/node /home/mmarteau/deploy/index.js

Как видите, я использую setuid mmarteau для запуска скрипта узла от того же пользователя.

Однако, это не ведет себя так же. Я сталкиваюсь с проблемами разрешений со службой, но не с ручным способом. Куда мне обратиться, чтобы решить проблему? Что я делаю неправильно?

Большое спасибо за ваши ответы и не стесняйтесь спрашивать меня больше информации:)

PS: Я на Ubuntu 14.04

0
задан 19 July 2016 в 03:24

0 ответов

Другие вопросы по тегам:

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