Code Monkey home page Code Monkey logo

easyinstaller's Introduction

EasyInstaller

I once wrote a project using tcl script language to simplify common server side software installation, like hadoop, solr cluster, mysql cluster etc. https://github.com/jianglibo/easy-installer.

This project use Vaadin technology, web interface, so it's far more easy to use.

Abstraction

Thinking of software install progress, The essential step involved:

  1. upload some file to server.
  2. upload execute environment file to server.
  3. upload code file to server and run it, code can access environment file in step 2. code file may be wrote by any language it can run on server.

How to setup project

  1. Clone project
  2. Copy application.yaml.template to application.yaml in src/main/resources folder. Edit content if needed.
  3. run .\gradlew eclipse
  4. import into eclipse run the VaadinApplication class. Or in command line just type .\gradlew bootRun, then visit http://localhost

How to write software installation script

Software object has a "runner" property, when you set this value to:

  • Single value. for example "tclsh", "bash" etc. the final command execute on target box is: tclsh code_to_exec_md5_filename -envfile code_to_exec_md5_filename.env -action install
  • With substitute variables. for example "powershell -File {code} {envfile} {action}", then final command is: powershell -File code_to_exec_md5_filename code_to_exec_md5_filename_env install

What does code_to_exec_md5_filename_env like? It contains all information about group of servers and software it's self.

code_to_exec_md5_filename_env will upload to target server before script is invoked.

screenshot

console boxgroup softwarelist softwareinstall

Need Help?

easyinstaller's People

Contributors

jianglibo avatar

Watchers

James Cloos avatar 空山苦水禅人 avatar

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.