Arquivo Bash se comportando diferentemente com o serviço Upstart

0

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:

  1. Eu faço login no meu servidor com o usuário mmarteau .
  2. Eu vou para o diretório ~/deploy e inicio node index.js .
  3. Eu faço uma solicitação ao meu URL e meu aplicativo é implantado.

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

    
por Hammerbot 18.07.2016 / 14:24

0 respostas