我在外壳中使用pm2,它工作正常。但是,当我将其添加到.travis.yml
时,它会向我显示
$ pm2 restart index.js
No command 'pm2' found
pm2在/usr/local/bin
中,当我回显$ PATH时,它包含路径/usr/local/bin
。我对此一无所知。
language: node_js
node_js:
- 8.9.1
branchs:
only:
- master
cache:
apt: true
directories:
- node_modules
install:
- git pull
- rm -f package-lock.json && npm install
script:
- echo $PATH
- pm2 restart index.js
after_success:
- chmod 600 ~/.ssh/id_rsa
before_install:
- openssl aes-256-cbc -K $encrypted_a46a360c8512_key -iv $encrypted_a46a360c8512_iv
-in id_rsa.enc -out ~/.ssh/id_rsa -d
答案 0 :(得分:0)
我认为您已经将构建容器与要运行最终应用程序的实际服务器混淆了。
Travis构建项目inside a VM/Container,该项目在Travis构建结束时结束。 PM2应该在托管该应用程序的实际Web服务器上安装并运行。
因此,从Travis ci您可能应该: