2016-06-21 1 views
0

Я пытаюсь использовать PM2 для целей развертывания, и поэтому в конце моего процесса развертывания яполучить правильный статус приложения PM2 после Deploy/перераспределить

pm2 startOrReload staging.json --env preprod 

и я получаю это:

16:26:12 ‘staging/current’ -> ‘/srv/pb/dev/v0.0.6-85-g755a611’ 
16:26:12 [PM2] Applying action reloadProcessId on app [pb1](ids: 0) 
16:26:13 [PM2] [pb1](0) ✓ 
16:26:13 ┌──────────┬────┬──────┬───────┬────────┬─────────┬────────┬─────────────┬──────────┐ 
16:26:13 │ App name │ id │ mode │ pid │ status │ restart │ uptime │ memory  │ watching │ 
16:26:13 ├──────────┼────┼──────┼───────┼────────┼─────────┼────────┼─────────────┼──────────┤ 
16:26:13 │ pb1  │ 0 │ fork │ 30180 │ online │ 111  │ 0s  │ 19.805 MB │ enabled │ 
16:26:13 └──────────┴────┴──────┴───────┴────────┴─────────┴────────┴─────────────┴──────────┘ 

, как вы можете заметить, статус находится в режиме реального времени независимо от того, насколько развертывание является достаточным или нет;
И маркировка сборки Дженкинса как успех, когда нет. сразу же после этого, если вы делаете

pm2 list 

вы получите правильный статус форума

Так есть ли способ, чтобы получить правильный статус, так что я могу отметить сборку как отказ

через API или что-то

ответ

0

1) вы можете получить текущий статус в формате JSON с CLI:

pm2 jlist 
pm2 prettylist 

2) Или вы можете подключиться к вечеру 2 экземпляра программно:

var pm2 = require('pm2'); 

pm2.connect(function(err) { 
    if (err) process.exit(); 

    pm2.list(function(err,list) { 
    list.forEach(function(e) { 
     console.log(e.name, e.pm2_env.status); 
    }); 
    pm2.disconnect(); 
    }); 

}); 

3) Или вы можете использовать keymetrics monitoring.

Смежные вопросы