Deploys · Plans and data
Troubleshooting
Start by checking the key and the address. Most other problems say what is wrong in mybeast-deploy's own words, on the terminal.
Check the key and the address
mybeast-deploy status asks Deploys about an app and runs nothing, so it shows at once whether the machine can report:
mybeast-deploy status --app shop| It says | What it means |
|---|---|
| The app's name and its commands | The key and the address are right, and the app is there. |
… answered 404: No app "shop" in this project yet: its first deploy adds it. | The key and the address are right. Deploy once to add the app. |
the key was refused: revoked, mistyped, or not a key of … | The key is not an active Deploys server secret: make a new one in the project's Settings, under Deploys keys. |
could not reach … | The address is wrong, or the machine has no way out. It is https://services.my-beast.com/deploys. |
Each key under Deploys keys also says when it was last used. Until the first deploy, the setup guide in Deploys says when a machine reached it with the key but no deploy started.
A deploy is not reported
When Deploys refuses a deploy, mybeast-deploy says why and runs your command all the same, unreported:
mybeast-deploy: not reported: <why> - the command runs all the sameanswered 422: Storefront has no environment “prd”: its environments are …: use one of those in--env, or have a project admin add the environment at id.answered 422: The … package has room for … apps: the deploy would add an app past your package's limit. See Past the limit.answered 402: …: the project's subscription has ended. Renew it at id.the key was refusedorcould not reach: see Check the key and the address.
A deploy that wasn't reported stays unreported: the next one, once fixed, is.
mybeast-deploy refuses to start
Before it runs anything, it checks its settings and flags, and stops with exit code 2 when one is wrong:
| It says | Fix |
|---|---|
MYBEAST_DEPLOYS_URL is not set, MYBEAST_DEPLOYS_KEY is not set | Export both, or put them in ~/.config/mybeast/deploys.env. See Settings. |
MYBEAST_DEPLOYS_KEY does not look like a server key (sk_….…) | Copy the whole key, both parts and the dot between them, without quotes or spaces. |
… can be read by others: chmod 600 … | Run the chmod 600 it names: the file holds the key. |
MYBEAST_DEPLOYS_URL must be https:// | Use https://services.my-beast.com/deploys. |
--app: lower-case letters, digits and inner dashes, --env: … | Write the app's key and the environment as Deploys has them, such as --app shop --env staging. |
run does not take … | A flag mybeast-deploy doesn't know came before --. Your command's own flags go after it. |
no command given, and shop has no deploy command | Give the command after --, or save the app's command. |
curl is needed | Install curl on the machine. |
It asks for a terminal
no terminal to ask in: pass --yes to run it, or give the command after -- means it was about to run the app's saved command and had no terminal to ask in, as in CI. Pass --yes, or give the command after --. not run means someone answered anything but yes.
A deploy shows Lost
Deploys heard nothing from the machine for 10 minutes before it said how the deploy ended: a laptop that went to sleep, a network that dropped, or a mybeast-deploy that was killed outright. Ctrl-C is not one of them: it is reported as stopped.
- Look on the machine, or on the server, at how the deploy really ended.
- A machine that comes back takes the deploy up again: the rest of the log and its end arrive.
- When only the end didn't arrive, mybeast-deploy said
how it ended was not reportedon the terminal.
The release is a commit
Without --release, and without a pattern that finds the release in the log, a deploy's release is its commit's first 12 characters. Set The line that names the release, and check that its first group in brackets takes the name from a line your script prints. A deploy run outside a git checkout, and with neither, has no release: its page says None found.
Errors says Not marked
The note beside it on the deploy's page says why:
Errors refused the key (401): the app's Errors key was revoked or mistyped. Set it again in the app's settings.The app's Errors key no longer opens: set it again.Errors answered …: Errors refused the release; the rest of the note is its reason.
Skipped means the deploy had no release name. No Errors row at all means the app has no Errors key. See Name each release in Errors.
Part of the log is missing
the log did not all reach the service: the whole log is on the machine, in$TMPDIR/mybeast-deploy-<id>.log, as the line says.The first … lines are in the downloaded log only: the page draws the last 20,000. Download has them all.… more lines were not kept: a log keeps 50,000 lines.- What a program writes straight to the terminal, such as ssh's or sudo's password prompt, is not in the log.
- Your command's output goes through mybeast-deploy, not straight to a terminal, so a tool that checks may print fewer colours or no progress. Many have a flag to keep them, such as
--color=always.
The wrong person, or none
A deploy shows the My Beast person whose e-mail address git gave, else git's user.name, else the system user. To be named as yourself, set git's user.email to the address you sign in to My Beast with:
git config --global user.email you@example.comOn a CI runner, see Who it names.