我正在运行 Ubuntu 14.04。
我正在尝试制作一个能够部署应用程序的服务。这个过程非常简单:
- 我有一个节点脚本正在监听端口上的
2133
请求POST
- 当此脚本收到请求时,它会触发一个 bash 脚本,该脚本必须克隆一个 git 存储库
- bash 脚本应该运行一个
composer install
命令来安装应用程序的依赖项。
当我用启动我的脚本时node index.js
,一切都运行正常。
然后我创建了一个 upstart 服务,并使用以下配置文件定义:
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
服务运行良好,除一个命令外,我的所有 bash 文件都在运行composer install
。
我 什么 也 没有/var/log/upstart/myservice.log
.
composer install
我也尝试用完整路径替换命令:/usr/local/bin/composer install;
但这也没有效果。
我应该去哪里解决我的问题?
非常感谢您的帮助!
composer install
编辑:当我用替换时,我的问题就解决了sudo composer install
。我不明白,因为当我启动以 记录的节点脚本时,一切都正常,mmarteau
但它确实需要一个sudo
与 upstart 服务一起使用。我认为 是setuid mmarteau
必要的行...