hapistrano-0.1.0.0: A deployment library for Haskell applications

Safe HaskellNone
LanguageHaskell2010

Hapistrano

Description

A module for easily creating reliable deploy processes for Haskell applications.

Synopsis

Documentation

data Config Source

Config stuff that will be replaced by config file reading

Constructors

Config 

Fields

_deployPath :: String
 
_host :: String
 
_repository :: String

The remote git repo

_revision :: String

A SHA1 or branch to release

_buildScript :: Maybe FilePath
 
_restartCommand :: Maybe String
 

Instances

initialState :: Config -> HapistranoState Source

Returns an initial state for the deploy.

runRC Source

Arguments

:: ((Int, Maybe String) -> IO a)

Error handler

-> (a -> IO a)

Success handler

-> HapistranoState

Initial state

-> RC a 
-> IO a 

Given a pair of actions, one to perform in case of failure, and one to perform in case of success, run an EitherT and get back a monadic result.

activateRelease :: RC (Maybe String) Source

Switches the current symlink to point to the release specified in the configuration. Maybe used in either deploy or rollback cases.

pushRelease :: RC (Maybe String) Source

Does basic project setup for a project, including making sure some directories exist, and pushing a new release directory with the SHA1 or branch specified in the configuration.

rollback :: RC (Maybe String) Source

Activates the previous detected release.