Skip to content

Deploy Logger Service - Documenting and recording the release of new product versions

License

Notifications You must be signed in to change notification settings

ShiftForward/malamute

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Deploy Logger Service - Documenting and recording the release of new product versions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •