The Deploy Logger Service is built for documenting and record the release of new versions of projects (deploys) and its modules.
The core of the project was developed using Scala and Spray providing a RESTful API documented through Swagger. A webapp for viewing information built in Backbone and Bootstrap Paper Template.
Additionally, there is a Ruby SDK for easy integration in Ruby based systems.
A configuration file is available in /src/main/resources/reference.conf
.
logger-service {
apiVerion = "0.1"
apiConfig = ${api-config}
persistence = ${slick-db.sqlite}
interface = "0.0.0.0"
port = 8000
}
get /api/project/{projName}/deploy/{deployId}
Returns a Deploy
get /apiproject/{projName}/clients
Returns a List of Clients
post /api/project/{projName}/deploy/{deployId}/event
Add a event to a deploy
get /api/project/{projName}/client/{clientName}
Returns a Module List
delete /api/project/{projName}
Returns a Project
get /api/project/{projName}
Returns a Project
get /api/project/{projName}/deploys
Returns a List of Deploy
post /api/project/{projName}/deploy
Returns a Deploy
post /api/project
Returns a Project
get /api/projects
Returns an array of Projects
get /api/ping
Returns a pong
More information is available at Swagger on http://localhost:8000/swagger
With this API you can easily integrate the Deploy Logger Service with your existent deploy scripts or services like jenkins-ci.
Example of a cURL for creating a project:
curl -X POST --header "Content-Type: application/json; charset=UTF-8" --header "Accept: */*" -d "{
\"name\": \"malamute\",
\"description\": \"Deploy Logger Service\",
\"git\": \"https://github.com/ShiftForward/malamute\"
}" "http://localhost:8000/api/project"
sbt compile
sbt run
Tests are present in /test/scala/eu.shiftforward.deploylogger/DeployLoggerRouteSpec.scala
To run the tests simple do
sbt test
In addition to the main project there is a Ruby SDK that simplifies the process of integration the Deploy Logger Service.
An example of using is available at /DeployScript/sample.rb
Malamute was created by João Pedro Dias and supported by Bruno Maia and Luís Fonseca at ShiftForward.
We encourage you to contribute to Malamute! Submit bug reports and suggestions for improvements through GitHub's issues and your own improvements through pull requests.
malamute is licensed under MIT. See LICENSE for details.