Reploy
Search…
Welcome to Reploy
Reploy creates a unique staging or "preview" environment for every pull request. After just a few commands and clicks of setup, we’ll deploy your environment on every Pull Request with a fully managed link!

Why is this helpful?

In most engineering/product teams today, the staging environment is often a blocker when trying to get product out of the door. Whether it's waiting for changes to be seen in staging or lack of clarity regarding what production changes will look like, it can be hard to manage changes before a proper production release.
Reploy solves this problem by spinning up ephemeral staging environments on every commit. We're able to do this very quickly by caching previous runs and we handle the garbage collection of environments when they're not being used.
Beyond that, setup is extremely easy and requires almost no effort on your end. All we need are the commands you use in your dev environment, and we're off to the races 😃.

What does it look like?

On Github, this is what it looks like:

How does it work?

To setup Reploy, all that's required is a reploy.yml at the root of your repository. This file describes your environment i.e. the services in your web application stack.

The reploy.yml file

For our project at github.com/getreploy/fullstack-sample the file looks like this:
1
services:
2
backend:
3
port: 5000
4
image: ./Dockerfile
5
build:
6
- cd backend
7
- go build -o reploy
8
serve:
9
- ./reploy
10
frontend:
11
port: 3000
12
** runtime: nodejs
13
build:
14
- cd frontend
15
- npm install
16
- npm run build
17
serve:
18
- npx serve build/ -l 3000
19
env:
20
frontend: something.com
21
redis:
22
port: 6379
23
image: redis
24
postgres:
25
port: 5432
26
image: reploy/postgres:v1
Copied!
As you can see, all that's required are your services and their respective build and serve commands. To learn more about the file specification, take a look:
Last modified 1yr ago