hdeploy
HDeploy client ruby gem
Testing/development
This is a distributed application with many elements to it so it requires a little bit of scaffolding.
The different elements to dev/test are:
- Backend database (MySQL, Cassandra, and SQLite for dev purposes)
- HTTP API
- Repository (can be served by the API for development purposes)
- Hdeploy node daemon (client)
- CLI tool
To make it easier, this could be done with
- SQLite that auto-fills
- Default configs that are sane (directory: hdeploy-dev/sample-app/ etc)
- A default sample app
- A default local listen port/etc
First TODO: add database backend abstraction And add SQLite support (later on, MySQL too) They should both return some data structures that are identical Have all the same basic queries
Configuration
Note: in directories, the %s is replaced by the app name
{
"build": {
"_default": {
"upload_locations": [
{
"type":"directory",
"directory":"~/hdeploy_build/artifacts/%s"
},
{
"type":"s3",
"bucket":"somebucket",
""
},
{
"type":"scp",
"user":"someuser",
"ssh_key":"path_to_somekey",
"hostname":"somehost.net",
"directory":"/path/to/directory"
},
{
"type":"http",
"method":"PUT",
"username":"someuser",
"password":"somepass",
"url":"http://artifactory.derp.com/path/to/repo"
}
]
}
}
}