| Copyright | © 2015-2017 Stack Builders |
|---|---|
| License | MIT |
| Maintainer | Justin Leitgeb <justin@stackbuilders.com> |
| Stability | experimental |
| Portability | portable |
| Safe Haskell | None |
| Language | Haskell2010 |
System.Hapistrano
Contents
Description
A module for creating reliable deploy processes for Haskell applications.
Synopsis
- pushRelease :: Task -> Hapistrano Release
- pushReleaseWithoutVc :: Task -> Hapistrano Release
- registerReleaseAsComplete :: Path Abs Dir -> Release -> Hapistrano ()
- activateRelease :: TargetSystem -> Path Abs Dir -> Release -> Hapistrano ()
- linkToShared :: TargetSystem -> Path Abs Dir -> Path Abs Dir -> FilePath -> Hapistrano ()
- rollback :: TargetSystem -> Path Abs Dir -> Natural -> Hapistrano ()
- dropOldReleases :: Path Abs Dir -> Natural -> Hapistrano ()
- playScript :: Path Abs Dir -> Release -> [GenericCommand] -> Hapistrano ()
- playScriptLocally :: [GenericCommand] -> Hapistrano ()
- releasePath :: Path Abs Dir -> Release -> Hapistrano (Path Abs Dir)
- sharedPath :: Path Abs Dir -> Path Abs Dir
- currentSymlinkPath :: Path Abs Dir -> Path Abs File
- tempSymlinkPath :: Path Abs Dir -> Path Abs File
- ctokenPath :: Path Abs Dir -> Release -> Hapistrano (Path Abs File)
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.
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.
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
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.
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.
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
Construct path to a particular Release.
Return the full path to the directory containing the shared files/directories.
Get full path to current symlink.
Get full path to temp symlink.