Continuous Delivery
Last updated
Last updated
Let's be honest - you didn't become a developer to wrestle with CI/CD pipelines. You want to be building amazing products, not debugging why your GitHub Action is suddenly taking 45 minutes to complete.
Instead of fiddling with deployment workflow, let sherpa.sh do all the heavy lifting for you. Just connect a Github repo and we'll handle the rest.
Link your GitHub repository, and you're done. No YAML files to configure, no build matrices to optimize, no runners to maintain. We automatically:
Detect your framework and dependencies
Configure optimal build settings (which you can as needed)
Set up production-grade deployment pipelines
Handle all the CI/CD infrastructure
Every deployment follows a carefully orchestrated sequence of steps. Here's what happens behind the scenes:
We maintain a globally distributed, high-performance caching layer. This layer is used by frameworks for ISR, PPR, and other caching functionality. This step allocates a slice of the caching layer for your application.
Shallow fetches your latest code from GitHub.
Securely fetches your environment variables from our secrets vault and injects them into the build context.
Builds your application, optimizes assets, and prepares the production bundles.
Distributes your static assets across our global CDN network.
Compiles, optimizes, then containerizes your application's server-side components and API routes.
Provisions and configures the necessary cloud resources to run your application. We handle all the infrastructure heavy lifting, setting appropriate scaling rules and networking setup based on your selected plan.
Your code gets deployed automatically when:
You push to your production branch
A new pull request is opened
New commits land on a PR branch
Each trigger spawns a deployment pipeline that handles everything from dependency installation to final deployment. No manual intervention required.
Surprises are for birthdays, not software. Every pull request gets its own complete preview environment. This means:
Stakeholders can review changes on a real URL
QA can test features in isolation
You can catch issues before they hit production
Any new commits to a branch with an open pull request will also trigger a new deployment.
When a new build is triggered - or a build completes - sherpa.sh will leave comments on the pull request with links to the most up to date information.
Deployments will also trigger build checks and github deployment objects to be created. Both will be updated based on the success/failure of the build.
Made a mistake? No problem. Every deployment is immutable and cached globally. Rolling back is as simple as clicking a button in the "Deployments" tab.
To rollback (or promote a newer deployment):
Navigate to the Deployment table.
Search for the deployment you wish to rollback.
Click the Ellipse at the end of the table row
Click promote/rollback
Rollback Limitations: In some cases you will not be able to rollback to your previous deployment. You should be aware of these scenarios:
Connect your GitHub repository (one click)
Add your environment variables
Push to your production branch
Now, go build something awesome instead of babysitting your CI/CD pipeline!
Installs your project dependencies based on your provided .
Once your application is live and static assets uploaded, its safe to update DNS records to point to the new deployment. If you are using a custom domain this is when it gets routed to your application - otherwise we use the default speficied in the . We also provision SSL certificates using LetsEncrypt for your domain in this step. Doing this step ensures zero-downtime and a smooth cutover for every user.
Each preview is an exact replica of what the branch would look like in production (yes, this means the build and deployment include your application )
When a new pull request is opened it triggers a deployment of that branch. It will be available at the subdomain in your with the branch name appended. For example if your subdomain is set to myapp.sherpa.software
and your branch name is dev-feat-1
your feature branch will be available at myapp-dev-feat-1.sherpa.software
.
You can only rollback to applications in the for your application. For example, if your app settings currently target us-east, but your previous deployments are in us-west. You will not be able to rollback to them until you change your app settings back to us-wesGetting Started
That's it. Seriously, we're not kidding. Here is the docs.