Estou tentando criar um serviço que implanta um aplicativo de um repositório git. Para isso, executo um script JS de nó que ouve uma porta no servidor, e toda vez que um desenvolvedor faz um push para o repositório, ele envia uma solicitação para essa porta no meu servidor. Em seguida, meu script nodejs executa um script bash para implantar o aplicativo.
Isso funciona quando eu o defino manualmente:
mmarteau
. ~/deploy
e inicio node index.js
. Então, tentei criar um serviço pronto para automatizar isso. Aqui está o meu novo serviço:
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
Como você pode ver, eu uso o setuid mmarteau
para iniciar o script de nó do mesmo usuário.
No entanto, isso não se comporta da mesma forma. Eu me deparo com problemas de permissões com o serviço, mas não com o modo manual. Onde devo procurar resolver o problema? O que estou fazendo de errado?
Muito obrigado pelas suas respostas e não hesite em me perguntar mais informações:)
PS: Eu estou no Ubuntu 14.04