Catch bugs early, streamline your reviews
PullPreview is a GitHub Action that continuously deploys your pull requests and branches to on-demand temporary environments, allowing you to catch bugs and perform reviews early in the development cycle.
- Product Managers - Interact with a new feature as it's built, give valuable feedback earlier, reduce wasted development time.
- CTOs - Empower your dev team to deliver better work, without exposing code to a third-party.
- Developers - Show and test your work in a production-like environment, find bugs early, deliver the right feature.
- Ops - Concentrate on high value tasks, not maintaining staging environments.
Works with the tools you already use
PullPreview works for any kind of application, as long as it can be booted with Docker Compose.
Currently, PullPreview supports AWS Lightsail, which provides instances with fixed pricing (that humans can understand).
Support for additional providers, e.g. Hetzner, is planned.
Once the PullPreview workflow file (see below) is added to your repository, you can trigger a deployment for any pull request or branch to a temporary environment by adding the
pullpreviewlabel to it.
On every further push, or whenever the pull request is synchronized with the base branch, the environment will be updated.
The environment URL is directly displayed and clickable from the pull request, using the GitHub environments feature. That means we won't spam your pull requests with comments.
When the pull request is merged or closed, the environment is automatically destroyed.
For commercial use (see License), you will be required to buy a yearly License at a flat price of 300€/year. This includes any number of repositories and users, within a single GitHub organization.
Then, for each preview environment, you will pay the per-hour cost of your instances. For example, a 1GB RAM micro instance will cost you 0.007$/hour, 0.168$/day, and 5$/month (AWS lightsail pricing).
That means you pay the retail price for the resources you use, without any additional markup, whether you have 2 or 20 temporary environments.
Example: if your team opens 50 pull requests with PullPreview enabled per month, and that on average they stay open for 3 days, using a 4GB RAM instance this would cost you: 50*72*0.028 = 100$ for AWS lightsail, plus 25€ for the licence, i.e. ~125$/month all included.
License and pricing
I'm building a simple and robust solution to a need that all companies encounter during their evolution. This requires catering to many use cases, handling support requests and GitHub evolutions, maintaining infrastructure for dynamic DNS resolution of environment URLs. To make this sustainable, PullPreview comes with a License (view on GitHub).
The License allows free usage for personal and non-commercial use.
If you are a company, the price for a license is 300€ per year for any number of repositories, within a single GitHub Organization. You can try for 30 days before buying the license.
The commercial License includes email and 1-1 support. I'm friendly and get stuff done, please use it!
Supported by great companies
Testimonial from Neil, Cofounder/CTO at Copilot.com
As a software developer, I have found this action to be an incredibly valuable tool for enhancing my workflow and improving collaboration with my team.
One of the standout features of this action is its ease of setup. Even for those without extensive technical expertise, the process of configuring and deploying the action is straightforward and streamlined. Additionally, the action is highly adaptable and supports a wide range of environments, which makes it an ideal solution for projects of all types and sizes.
Overall, I highly recommend the Github Action that generates a preview environment for pull requests to any software development team looking to streamline their workflow and improve the quality of their code. Its ease of use, flexibility, and ability to provide live previews make it an indispensable tool for any development project.
Testimonial from Casey, Cofounder/CEO at hirelofty.com
We were already maintaining docker compose environments for our local development, but every other preview environment tool had some domain specific configuration (yet another YAML file). We were specifically looking to use our docker-compose configuration verbatim.
We were about to hand roll our own solution (using ec2 and ansible) when I came across pullpreview. It works great so far, and we’re implementing it as standard tooling across our project portfolio.
It saved us thousands in development costs, and the monthly cost of the light sail instances is immaterial compared to SaaS tools that want to license on a per user or per repository basis.
The SSH automation is handy as well, since we often need to access the environment for debugging or loading data fixtures.
Made with passion
Hi, I'm Cyril Rohr, a freelance CTO/DevOps from France. Over the years I've built and maintained many homemade solutions for this problem. PullPreview is the condensed version of everything I've learned. I hope you'll find it useful.
You can find me on Twitter.
You won't find a better solution around
- Tech that everyone understands: no Kubernetes, one environment = one server.
- Fully integrated into GitHub, no separate UI necessary.
- No SaaS or third-party involved: Your code stays private, and the servers are hosted in your own AWS account.
- Debugging is easy: you have root SSH access to the environment VM for any troubleshooting.
- Advanced security: set custom firewall rules for your preview environment VMs, ensuring your data stays protected.
- Custom domains: use your own domain or subdomain for your preview environments.
- SSL/TLS available: automatically provision Let's Encrypt certificates.
Did I mention you're paying only for the resources you consume?