Skip to content
Deploy Logger Service - Documenting and recording the release of new product versions
JavaScript CSS Scala Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
SDK-Ruby
project
src
.gitignore
LICENSE
README.md
build.sbt

README.md

Malamute

Deploy Logger Service

DeployLoggerService

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.

Screenshots

Projects Dashboard

Dashboard

Project Deploys

Deploys

Project Modules

Modules

Deploy Details

Deploy Details

Configuration

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
}

API Reference

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

Using the API

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"

Build & Run

Building

sbt compile

Run

sbt run

Test

Tests are present in /test/scala/eu.shiftforward.deploylogger/DeployLoggerRouteSpec.scala

To run the tests simple do

sbt test

Utilities

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

Authors

Malamute was created by João Pedro Dias and supported by Bruno Maia and Luís Fonseca at ShiftForward.

Contributing

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.

Licenses

malamute is licensed under MIT. See LICENSE for details.

ShiftForward

You can’t perform that action at this time.