@heroku-cli/plugin-run-v5
Version:
Heroku CLI plugin to run one-off dyno processes.
41 lines (36 loc) • 1.23 kB
JavaScript
const cli = require('heroku-cli-util')
const helpers = require('../../lib/helpers')
const Dyno = require('../../lib/dyno')
async function run(context, heroku) {
if (context.args.length < 2) throw new Error('Usage: heroku run:inside DYNO COMMAND\n\nExample: heroku run:inside web.1 bash')
let opts = {
heroku: heroku,
app: context.app,
dyno: context.args[0],
command: helpers.buildCommand(context.args.slice(1)),
'exit-code': context.flags['exit-code'],
env: context.flags.env,
listen: context.flags.listen,
}
let dyno = new Dyno(opts)
await dyno.start()
}
module.exports = {
topic: 'run',
command: 'inside',
hidden: true,
description: 'run a one-off process inside an existing heroku dyno',
examples: `$ heroku run:inside web.1 bash
Running bash on web.1.... up
~ $`,
variableArgs: true,
needsAuth: true,
needsApp: true,
flags: [
{name: 'exit-code', description: 'passthrough the exit code of the remote command'},
{name: 'env', description: "environment variables to set (use ';' to split multiple vars)", hasValue: true},
{name: 'listen', description: 'listen on a local port', hasValue: false, hidden: true},
],
run: cli.command(run),
}