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.
Thinking of software install progress, The essential step involved:
- upload some file to server.
- upload execute environment file to server.
- 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.
- Clone project
- Copy application.yaml.template to application.yaml in src/main/resources folder. Edit content if needed.
- run .\gradlew eclipse
- import into eclipse run the VaadinApplication class. Or in command line just type .\gradlew bootRun, then visit http://localhost
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.
- email: [email protected]
- qq群: 418474680