Deploys · Guides
Set up an app
An app is added by its first deploy. Its settings then save the commands that deploy it and roll it back, say how its builds are named, and link its commits.
How an app is added
There's nothing to create first. The first deploy with an --app key Deploys hasn't seen adds the app, named after its key: --app shop adds Shop. Each app counts toward your package's apps; see Limits.
An app has an environment once it has been deployed there. The environments themselves are the project's, set at id for every product.
Name and key
Open the app in Deploys and choose Settings. The Name is what the pages show, up to 80 characters. The Key is what --app names. It never changes, so a renamed app keeps its deploys.
Deploy and rollback commands
With a Deploy command and a Rollback command saved, you can leave out everything after --. {env} stands for the environment, so make deploy:{env} runs make deploy:staging for --env staging.
mybeast-deploy shows the saved command, and asks before it runs it:
mybeast-deploy run --app shop --env staging
mybeast-deploy: shop's deploy command for staging: make deploy:staging
mybeast-deploy: run it here, in /home/anna/shop? [y/N] y- Each is one line, as you would type it, up to 500 characters.
- A command that holds a secret, such as
DEPLOY_PASSWORD=…or--token=…, is refused. Your script asks for its secrets, or reads them itself. - On a machine with no terminal,
--yesanswers the question; see Without a terminal. - Every change is kept in the project's audit log, with what the command now says.
A command given after -- always wins over the saved one. mybeast-deploy status --app shop --env staging prints both saved commands.
The line that names the release
A release is what a build is called, as Errors knows it: 1 to 64 letters, digits and . _ + -, such as 20261101-101500-a1b2c3d. A deploy's release is found in this order:
- what the machine said, with
--release NAME, - the first line of the log that the app's pattern finds a release in,
- the commit's first 12 characters.
The pattern is The line that names the release in the app's settings: a regular expression whose first group in brackets is the release. For a script that prints ==> Building 20261101-101500-a1b2c3d:
==> Building (\S+)A rollback's release is the one --to named, else the first line its own log names, else the release of the deploy it went back to. To find both kinds of line in one pattern:
==> (?:Building|Rolling (?:\S+ )?back to) (\S+)A pattern without a group in brackets, or one that holds ~, is refused. The release shows on the deploy's page, names what is live, and is what Errors hears.
The repository
The Repository is the app's web address, as the browser shows it, such as https://github.com/owner/repo, on GitHub, GitLab, Bitbucket or Gitea. With it, a deploy's commits open there, and its page has Compare in the repository, from what was live before to what it shipped.
Who may change them
An app's settings are for the project's admins. The project's people see the app and its deploys, the commands they ran among them. A deploy's page in a production environment asks for the person's level in production, as their role at id sets it.