hapistrano-0.3.1.0: A deployment library for Haskell applications

Copyright© 2015-2017 Stack Builders
LicenseMIT
MaintainerJustin Leitgeb <justin@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.

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

:: 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.

rollback Source #

Arguments

:: 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 diroctory of given release.

Path helpers

releasePath Source #

Arguments

:: Path Abs Dir

Deploy path

-> Release

Release identifier

-> Hapistrano (Path Abs Dir) 

Construct path to a particular Release.

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.