Preview Every Pull Request
A Preview is a full copy of an Environment, such as production or staging, running another branch or pull request on its own URL. Full means the database too: each Preview gets its own, so you review a change running for real, end to end, before it ships. Ask your agent:
Create a Preview for each pull request.
Three Ways To Create Previews
| Create | How |
|---|---|
| By hand | environment:preview:create --branch checkout-redesign |
| For every pull request | pull_requests: true |
| For matching branches | branch_pattern: preview/* |
Turn On Pull Requests
blossom environment:preview:settings:init
preview_settings.yml:
preview_settings:
expiry_days: 7 # delete after this many days without a deploy
limit: 10 # most Previews at once
pull_requests: true # each pull request into this branch gets a Preview
# setup_command: bin/rails db:prepare db:seed # once, before the first release
blossom environment:preview:settings:update --environment environment-100 --data preview_settings.yml
The repository needs to come through a connected Git provider: GitHub, GitLab or Bitbucket.
What You Get
- A full copy: the same Services, build settings and variables as its Environment, on the branch you’re testing.
- Its own database: a PostgreSQL database of its own when your App links one, never production’s data.
- Starting data: seed every new Preview’s database from a file, or run a
setup command such as
db:seed. - Its own URL, posted on the pull request on GitHub and updated on each push.
- Access: open to your Account’s members by default; share a link with anyone else.
- Variables: override one for Previews, such as a sandbox payment key.
- Cleans up after itself: deleted when the pull request closes, or after 7 days without a deploy.
See Preview Environments for every setting, and Environment Access for who can open them.