Deploying applications

Deploy web services, workers, or jobs on Porter.

Application Source

On Porter, you can deploy applications from a Git repository or docker image registry. Step by step instructions how to deploy from each of these two sources can be found below.

Application Types

There are three types of applications you can deploy on Porter: web services, workers, and cron jobs. Below is an overview of each application type as well as the use cases each one is best suited for.

Web Service

Web services are processes that are constantly running and are exposed to either internal or external traffic. By default, Porter will expose your web services on a *.onporter.run domain, but you can also expose these web services on custom domains. Porter will create and renew SSL certificates for you in both of these cases.

You can also expose your web service only to internal traffic, which will expose that service only to other deployments in the same cluster via internal DNS.

Worker

Worker processes are constantly running processes that are exposed to neither external nor internal traffic. Workers have no URLs or ports - it's best suited for background processes, queuing systems, etc.

Job

Jobs are one-off processes that run to completion. It's best suited for ephemeral tasks such as database migration or clean up scripts. You can run these jobs as one-off tasks that are triggered manually or as a cron job.

Cron jobs run periodically on a schedule specified as a cron expression. Please see this article for a quick guide on cron expressions. To create cron expressions more easily, try this online editor to generate cron schedule expressions.

You can read more about running jobs and cron jobs on Porter here.