Giter Club home page Giter Club logo

autodeploy's Introduction

AutoDeploy

StackShare

An automated deployment system which is similar to AWS CodeDeploy but is hostable inside an enterprise.

The target is to minimize the manual prone errors of code deployment.

The project will have the following componemts:

  • Deployment Daemon (to run under root role so it can restart servers).
  • Deployment Client (which can communicate with the server giving it the scripts to run).
  • Deployment Interface (to see the progress and it can be used to deploy certain code versions).

The deployment configuration will be based on YAML Format.

The client should be callable from CI systems (like Jenkins) to deploy the code after a successful build.

##Events:##

The following events will be handled by the system:

  1. beforeInstall: This event will run after the code is downloaded, normal will be used to stop servers/decrypt files
  2. Install: doing the deployment operation itself
  3. afterInstall: Actions required after Installing like reloading a server.
  4. Validation: An optiomal step to make sure that everything is OK.

Every event should have the following format:

events:
   event-name
       - location: script-location
         runas: user-name

Requirments

For the Server:

  • pyyaml (>3.0)
  • pycrypto

For the web-application

  • django 1.8.1+
  • django-table-2
  • django-table-report

autodeploy's People

Contributors

mahmoodnasr avatar mkalioby avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

autodeploy's Issues

Create REST API for AutoDeploy Sever

AutoDeploy Server has only a TCP Interface, we need to build a REST API for the server so that it can be accessible from any web server available publicly.

The API should have the following messages:

  • check: given a hostname and token, the server should response by a JSON which describs a deployment job or nothing to deploy. The check should be saved to the database.

Create Server Groups

Allow the users to add servers groups, to be able to deploy be a single click to multiple servers.

Modify DEPLOY Message

If the deployment on a server that isn't directly avaliable, the job should be passed to the deployment queue.

Change Password Link in User Profile Dropdown

I recommend putting the "Change Password" link in the drop-down of user profile icon in Autodeploy as a shortcut to take the user directly to the change password page in django admin

Fix Links

The links on the sidebar should be intelligent.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.