Giter Club home page Giter Club logo

asimov-deploy-winagent's Introduction

Asimov Deploy NPM version Build Status

Asimov Deploy is a simple distributed deployment tool that enables you to deploy applications to multiple machines through central web interface. Actual deploymentents are handled on each machine by the locally installed deploy agent.

You can try it: demo site.

Deploy web server / interface

  • Cross platform (written in node.js, very simple install, no database required)
  • List deploy units from all agents that have reported in
  • User can select a version to deploy to a specific machine
  • View deploy unit status (running / stopped / deploying / etc)
  • View deploy logs (logs are fetched from the agents)
  • Load balancer integration (optional feature)
    • Shows all machines and deploy units along with the load balancer status
    • Allows you to enable / disable machines in load balancer
  • View live agent activity logs
  • Execute verify/warmup steps on each deploy unit / machine, what the verify step does is up to the agent and depends on the deploy unit type.
  • Authentication options
    • Anonymous
    • Local users specified in config
    • Google authentication (specify a list of allowed google account emails in config)

Windows deploy agent

  • Installs as a windows service
  • HTTP API
  • Talks to central deploy web interface through HTTP
  • Deploy Windows Services
  • Deploy IIS Web Applications or Sites
  • Execute Powershell scripts included in deploy package
  • Automate load balancer (enable / disable machine in load balancer)
    • Currently only supports Alteon, but support for more is on the way.
  • Execute phantomjs (& casper.js) verify & web site warmup scripts (and report progress & status to central web ui)
  • Deploy logs & history
  • Package management
    • Hard drive / fileshare zip files (version / branch / commit can be extracted from filename)
    • Nuget support (not completed yet)
  • Automatic update of deploy agent
  • Automatic update of deploy agent config

Demo

For a better understanding of how it works try the demo. The demo has faked agents, but gives you a good understanding how Asimov Deploy looks and behaves.

Philosophy

Even though there is a central web interface, the core functionallity is handled by the deploy agents that are installed locally on each machine that has applications running that you want to update. The agents registers themselves with the central deploy web server which in turn query the agents for information (list deploy units, status of deploy units, what versions are available for deployment etc).

Roadmap

  • Documentation (Getting started Guide / Deploy Agent configuration guide)
  • Nuget package support
  • Improve security
  • Node.js deploy agent to enable deploy to unix machines
  • Add support for more load balancers

Bugs and Feedback

For bugs, questions and discussions please use the Github Issues.

LICENSE

Copyright 2013 Ebay Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

asimov-deploy-winagent's People

Contributors

akselsson avatar bergquist avatar calindtech avatar daniellee avatar dexboss avatar fhelje avatar haf avatar kahlin avatar korla avatar marefr avatar mattiasliljenzin avatar mullvaden avatar sbrandstrom avatar torkelo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

asimov-deploy-winagent's Issues

Be able to configure agent environment using wildcards

Instead of

"Agents": {
        /* TEST */
        "test01":           { "Environment" : "test" },
        "test02":           { "Environment" : "test" },
        "test03":           { "Environment" : "test" },
        "test04":           { "Environment" : "test" },
        "test05":           { "Environment" : "test" },
        "test06":           { "Environment" : "test" },
}
"Agents": {
        /* TEST */
        "test*":            { "Environment" : "test" },
}

Add unitaction that runs any powershell command.

Our initial need was to know which server who is active in a windows cluster.

Instead of a implementing something specific for windows cluster I think the possibility to execute powershell scripts and send output to the asimov front is much more flexible.

Create Agent Group concept

In order to segregate groups of agents in the UI. This will remove the need for multiple instances of the asimov deploy ui.

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.