3

要在 heroku 上运行我的应用程序,我使用pm2,并使用以下命令配置我的Procfile

worker: node main.js

在启动我的应用程序之前,我需要使用脚本配置 pm2 的相同模块

npm i -g pm2

pm2 install pm2-logrotate
pm2 install pm2-slack

pm2 set pm2-slack:slack_url $SLACK_URL
pm2 set pm2-slack:log true
pm2 set pm2-slack:error true
pm2 set pm2-slack:restart true
pm2 set pm2-slack:exist true
pm2 set pm2-slack:start true
pm2 set pm2-slack:online true
pm2 set pm2-slack:stop true

那么,这个脚本放在哪里呢?

试过了

我试着把postinstall脚本放在package.json

  .... 
  "scripts": {
    "start": "pm2 start ecosystem.json",
    "postinstall": "sh post-install.sh"
  },

当我登录时heroku run bash

λ heroku run bash
Running bash on <heroku-server>... up, run.XXX
~ $ pm2 l

                        -------------

   Looking for a complete monitoring and management tool for PM2?
    _                             _        _            _
   | | _____ _   _ _ __ ___   ___| |_ _ __(_) ___ ___  (_) ___
   | |/ / _ \ | | | '_ ` _ \ / _ \ __| '__| |/ __/ __| | |/ _ \
   |   <  __/ |_| | | | | | |  __/ |_| |  | | (__\__ \_| | (_) |
   |_|\_\___|\__, |_| |_| |_|\___|\__|_|  |_|\___|___(_)_|\___/
             |___/

                          Features

                   - Real Time Dashboard
                   - CPU/Memory monitoring
                   - HTTP monitoring
                   - Event notification
                   - Custom value monitoring
                   - Real Time log display

                          Checkout

                   https://keymetrics.io/

                        -------------

[PM2] Spawning PM2 daemon
[PM2] PM2 Successfully daemonized
┌──────────┬────┬──────┬─────┬────────┬─────────┬────────┬────────┬──────────┐
│ App name │ id │ mode │ pid │ status │ restart │ uptime │ memory │ watching │
└──────────┴────┴──────┴─────┴────────┴─────────┴────────┴────────┴──────────┘
 Use `pm2 show <id|name>` to get more details about an app

问题

  1. 我的 Procfile 没有被执行?为什么?
  2. 放置 mu postinstall 脚本的最佳位置在哪里?我应该创建自己的 buildpack 并放在这里吗?
4

0 回答 0