hapistrano
hapistrano copied to clipboard
Deploy tool for Haskell applications, like Capistrano for Rails
Most of the settings across different deployment scripts such as `staging.yaml` and `production.yaml` are the same. Usually, they only differ in the name of the branch, therefore I would like...
## Changes: - Define `Hapistrano` as a `newtype` - Use `Deriving Via` to get the needed instances Solves #180
While reviewing #174, @jpvillaisaza realized (see https://github.com/stackbuilders/hapistrano/pull/174#discussion_r800725192) that I had accidentally removed the call to `dropOldReleases` when a successful release was deployed, so old releases weren't being deleted; despite of...
As it is now, we Hapistrano is using the following monad stack: https://github.com/stackbuilders/hapistrano/blob/f3fbe9a34cde5c645cbb4d51a48647a80ea00b92/src/System/Hapistrano/Types.hs#L49 Using [deriving strategies](https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/deriving_strategies.html) The monad could be implemented like the following: ``` haskell newtype Hapistrano (a ::...
Taking the [Distroless Rust](https://github.com/GoogleContainerTools/distroless/blob/main/examples/rust/Dockerfile) example as a reference, the existing `Dockerfile` could be split into different stages: - One that compiles the project and generates a binary - Another one...
Currently, if we use the docker image to make deployment to the local computer without specifying `localhost` as the `host` on the config file. It produces an error about a...
Currently only git is supported, but it would be nice to have support for systems like darcs.
This PR fix #206
Hapistrano uses `ctokens` to know which deployments finished successfully. After that, they're used to rollback to a successful release. However, we're not validating if the path that is generated for...