hapistrano-0.4.0.0: A deployment library for Haskell applications

Copyright© 2015-Present Stack Builders
LicenseMIT
MaintainerJuan Paucar <jpaucar@stackbuilders.com>
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

System.Hapistrano

Contents

Description

A module for creating reliable deploy processes for Haskell applications.

Synopsis

Documentation

pushRelease :: Task -> Hapistrano Release Source #

Perform basic setup for a project, making sure necessary directories exist and pushing a new release directory with the SHA1 or branch specified in the configuration. Return identifier of the pushed release.

pushReleaseWithoutVc :: Task -> Hapistrano Release Source #

Same as pushRelease but doesn't perform any version control related operations.

registerReleaseAsComplete Source #

Arguments

:: Path Abs Dir

Deploy path

-> Release

Release identifier to activate

-> Hapistrano () 

Create a file-token that will tell rollback function that this release should be considered successfully compiled/completed.

activateRelease Source #

Arguments

:: TargetSystem 
-> Path Abs Dir

Deploy path

-> Release

Release identifier to activate

-> Hapistrano () 

Switch the current symlink to point to the specified release. May be used in deploy or rollback cases.

linkToShared Source #

Arguments

:: TargetSystem

System to deploy

-> Path Abs Dir

Release path

-> Path Abs Dir

Deploy path

-> FilePath

Thing to link in share

-> Hapistrano () 

Link something (file or directory) from the {deploy_path}shared directory to a release

rollback Source #

Arguments

:: TargetSystem 
-> Path Abs Dir

Deploy path

-> Natural

How many releases back to go, 0 re-activates current

-> Hapistrano () 

Activates one of already deployed releases.

dropOldReleases Source #

Arguments

:: Path Abs Dir

Deploy path

-> Natural

How many releases to keep

-> Hapistrano ()

Deleted Releases

Remove older releases to avoid filling up the target host filesystem.

playScript Source #

Arguments

:: Path Abs Dir

Deploy path

-> Release

Release identifier

-> [GenericCommand]

Commands to execute

-> Hapistrano () 

Play the given script switching to directory of given release.

playScriptLocally :: [GenericCommand] -> Hapistrano () Source #

Plays the given script on your machine locally.

Path helpers

releasePath Source #

Arguments

:: Path Abs Dir

Deploy path

-> Release

Release identifier

-> Hapistrano (Path Abs Dir) 

Construct path to a particular Release.

sharedPath Source #

Arguments

:: Path Abs Dir

Deploy path

-> Path Abs Dir 

Return the full path to the directory containing the shared files/directories.

currentSymlinkPath Source #

Arguments

:: Path Abs Dir

Deploy path

-> Path Abs File 

Get full path to current symlink.

tempSymlinkPath Source #

Arguments

:: Path Abs Dir

Deploy path

-> Path Abs File 

Get full path to temp symlink.

ctokenPath Source #

Arguments

:: Path Abs Dir

Deploy path

-> Release

Release identifier

-> Hapistrano (Path Abs File) 

Get path to completion token file for particular release.