“Heroku Review Apps”
Heroku Review Apps are instant, disposable Heroku app environments that can spin up automatically with each GitHub pull request. They allow developers and their teams to automatically build and test any pull request, updated at every push, at a temporary, shareable URL. When the pull request is closed or merged, the Review app is deleted. GitHub users are notified of all this, right in the pull request web interface.
The Preview Environments Craze**
Heroku Review Apps are one of the most popular examples of the “preview environments” phenomenon that development teams have fallen in love with in recent years.
Preview Environments are copies of production environments that are automatically created on every pull request.
Teams use preview environments to see code changes in action before a pull request gets merged. These environments are also called “deploy previews” or “ephemeral environments” because they are by definition, not permanent. They are temporary environments that represent a feature-specific version of the code, allowing developers, QA engineers, or even product managers to quickly review the new feature without the hassle of complex staging or production environment dependencies.
Or, as GitHub put it: "Heroku Review apps bring GitHub pull requests to life.”
The Benefits of Preview Environments
Workflows that employ these PR preview environments like Heroku Review Apps have many benefits. To list a few of the key advantages:
- Shorter Feedback Cycles and Faster Delivery - Preview environments can facilitate faster feedback cycles and reduce your time to market. For a product already in production, the ability to release fixes without overriding the staging build is a lifesaver.
- Improved Review Process and Product Quality - Preview environments get all relevant stakeholders to the review table - developers, designers, QA, PMs, marketing, management and more. This improves the quality of the review process and, by extension, the quality of the code and product.
- Reduced Costs - Because preview environments are ephemeral in nature, they are removed as soon as the PR is merged back into the master branch. This eliminates the need for permanent infrastructure which reduces cloud costs. Furthermore, the automatic provisioning and de-provisioning of deployment previews reduce the workload of DevOps teams and enable them to focus on other tasks
Check out this article to learn more about the benefits of using preview environments in your team’s workflow.
Get actionable feedback in context by connecting Livecycle to your Heroku Review Apps
Setting up Heroku Review Apps for your PRs is just the tip of the iceberg though. Because once you’ve set up these environments, you can connect them to Livecycle and let your team collaborate and give feedback in context, on top of the PR itself.
Livecycle’s SDK turns your Heroku Review Apps into collaborative playgrounds where every stakeholder can review, collaborate and comment in context, on top of the product UI.
When a PR is opened and a preview environment is created, the Livecycle collaboration tools are overlayed on the product UI, allowing each reviewer to leave their comments in context and to see the other comment threads and overall status.
Livecycle’s Figma-like, on-page markup capabilities facilitate a truly collaborative workflow on top of the Heroku infrastructure.
Livecycle maintains the comments per-playground, and everything is also synced back to Github (or your preferred Git/SCM provider) so that code owners can see the relevant feedback in their preferred context. And supported integrations with other platforms like Slack, Jira, and Linear allow you to speed up your workflow without adding steps or changing tools.
Livecycle extends the value of your Heroku Review Apps by making them a place for contextual reviews and inclusive collaboration. This allows teams to achieve the streamlined workflows and increased velocity that they are aiming for.
Here's a quick look at the Livecycle SDK in action:
How it works: The Heroku + Livecycle Workflow
Once your Heroku environments are set up together with the Livecycle SDK, Livecycle will kick off the workflow by automatically distributing the link to the preview environment to all the relevant collaborators on the team when a PR is opened. And even if someone is missing from the list, you can add them at any time to join the project.
When a team member opens the preview environment, the Livecycle tools are readily available for collecting feedback in full context, including:
- Screenshots for highlighting specific areas of the UI
- Video capture to record a particular user sequence
- Element editor for making suggested changes to HTML and CSS elements
- Text-based Comments
- Tagging team members, emoji reactions and status designation per-comment make sure everyone is kept in the loop
Since these tools are built-in to the preview environment itself, reviewers can give better feedback by marking up the actual product UI. And the code owners can understand the feedback faster and address it sooner, without needing to coordinate more meetings.
Getting Started with Heroku Review Apps and Livecycle
To get started with your Heroky Review Apps, check out this step-by-step guide.
To learn how to connect the Livecycle SDK to your Heroku Review Apps, check out the Livecycle SDK documentation.
Heroku Review Apps are awesome. And development teams know it. What teams are now discovering is how valuable these environments can actually be, by serving as a platform for inclusive, contextual collaboration by simply adding the Livecycle SDK.
So check it out for yourself and see how the Livecycle SDK can 10x your teams workflow productivity.
Top comments (1)
Thank you for this insightful article! I completely agree with the benefits of preview environments and how they can positively impact a team's workflow. In addition to the reduced costs mentioned, I would like to add that there's even an add-on for Heroku called AutoIdle that can help save even more money on review apps. With AutoIdle, Heroku will automatically put review apps to sleep after a certain period of inactivity, helping to reduce the amount of time they're active and ultimately cutting down on unnecessary costs.