abstract class BaseDeployment

Overview

BaseDeployment is an abstract base class for all deployment types. It provides a common interface for handling deployments

Direct Known Subclasses

Defined in:

runway/models/base_deployment.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(log : Log, deployment_config : DeploymentConfig) #

Initializes a new BaseDeployment.

@param log [Log] The logger to use. @param deployment_config [DeploymentConfig] The deployment configuration.


[View source]

Instance Method Detail

abstract def deploy(payload : Payload) : Payload #

Executes the deployment. Subclasses must implement this method. In general, this is the actual method that deploys the configured project. Example: A GitHub deployment was triggered, and the check_for_event method detected it... ... since the check_for_event method returns a payload, the deploy method is called with the payload to complete the deployment... ... depending on the event type, there may even be a post_deploy hook that is called after the deployment is complete. @param payload [Payload] The payload containing deployment information (it could be an empty Payload object) but it is required. You might not need it but in case you do, it is there. Certain event types will set rich data on this object and others will not. Check out the deployment_payload.cr file to see what attributes might be available on the Payload object.


[View source]