Я пытаюсь создать службу, которая развертывает приложение из репозитория git. Для этого я выполняю JS-сценарий узла, который прослушивает порт на сервере, и каждый раз, когда разработчик отправляет репо, он отправляет запрос на этот порт на моем сервере. Затем мой скрипт nodejs выполняет скрипт bash для развертывания приложения.
Это работает, когда я ставлю точки вручную:
mmarteau
. ~/deploy
и запускаю node index.js
. Так что я попытался сделать выскочку службы, чтобы автоматизировать это. Вот мой выскочка сервис:
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