3 ms·
> Uhh... that's really slow. What is CodePreview doing to make it take that long? Building everything from source can take a while for some projects, for examp
by AlexITC 3y ago
> Uhh... that's really slow. What is CodePreview doing to make it take that long?
Building everything from source can take a while for some projects, for example, Scala/Rust. In our case, most of the projects we have integrated depend on Scala.
Other than that, CodePreview also provisions dependencies (databases, etc), generates SSL certificates + some other steps.
I have personally done some experiments to reduce these times and getting these down to less than 3 minutes seems doable, I have drafted a blog post explaining this. For simpler projects, it's easy to get the execution time to 1 minute.
> You could spin up a VM and copy a binary over to it much faster than that.
Copying the binary is one of the fastest steps.
There are projects take take less time,
> I'd love to see more tooling in this space (most people don't need Docker!) but I didn't get a sense of what CodePreview is actually doing from the homepage.
Is there anything more specific you can share? This is the 3rd time we work on polishing the landing page to make our purpose clear, it seems we are not there yet.
In short, Codepreview reacts to commits on Pull Requests, executing a pipeline that builds and deploys a temporal app version (using a new sub-domain specific to each PR), this way, you can preview the how the app looks like and how it behaves without pulling the code yourself, it has turned out to be very helpful for demos.
Thanks for your feedback.
- ripley12 3y ago> Building everything from source can take a while for some projects, for example, Scala/Rust. Gotcha, true. I think you're doing yourself a disservice by including compile times (mostly out of your control) in your answer to "How long does each preview environment take to deploy?" > Is there anything more specific you can share? I would like to hear some technical details about the environment that each temporal app version gets deployed to. Like, is it a normal VM I can remote into? Docker containers? Something fancy like Firecracker micro-VMs? You might not want to make all of those details public, but I need a bit more of an understanding of how a product works to consider using it.
- AlexITC 3y ago> Gotcha, true. I think you're doing yourself a disservice by including compile times (mostly out of your control) in your answer to "How long does each preview environment take to deploy?" This is a very good point I haven't considered, I just updated the FAQ. > I would like to hear some technical details about the environment that each temporal app version gets deployed to. Like, is it a normal VM I can remote into? Docker containers? Something fancy like Firecracker micro-VMs? > You might not want to make all of those details public, but I need a bit more of an understanding of how a product works to consider using it. I believe the landing page isn't the right place to share these, I'm working on adding a blog where these details would be explained. To summarize, every customer gets its own powerful VM where all previews will run, previously, ssh-ing into the VM is doable but it hasn't been required since we started exporting the application logs. Each preview is being executed as a systemd service with nginx in front to handle TLS. If you are interested to know any particular detail, feel free to ask. Thanks.