Copyright | © 2015-Present Stack Builders |
---|---|
License | MIT |
Maintainer | Juan Paucar <jpaucar@stackbuilders.com> |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
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 #
:: 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.
:: 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.
:: 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
:: TargetSystem | |
-> Path Abs Dir | Deploy path |
-> Natural | How many releases back to go, 0 re-activates current |
-> Hapistrano () |
Activates one of already deployed releases.
:: 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.
:: 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.