A quick script-based multi-platform imaging system
Py-Deploy is a set of scripts written mostly in Python intended for doing initial configuration of a computer for deployment. It's intended to be fast, reliable, and easy for a non-technical user to run to completion. Most configuration is automated, all "line of business" software is installed on the fly, and the layout and workflow are tailored depending on where the scripts are ran from, both at a geographical level and internet/intranet level.
Py-Deploy is generally platform-agnostic. I have used it to deploy Windows, Mac, and Linux computers, but the core Python scripts can run on virtually any OS that can run Python 2.7 (with the correct triggers for that OS). In experiments I was able to get it to run on Haiku OS without much difficulty.
The above screenshot shows some of the code powering Py-Deploy. It has been commented nine ways to Sunday and I'm constantly figuring out interesting ways to refactor the code to make it more efficient and easier to maintain. I've also been expanding it's functionality to meet the growing needs of the business. We're going to outgrow it someday and jump to a more professional (and costly) deployment solution, but for now I'm very happy with what I've come up with.
Python is a freely available, powerful scripting language, available for many hardware and software platforms. It is very easy to get started with and entertaining to learn and use. If you haven't experienced the joy that is Python, go check it out: Python Web Page
Concern | OS-Specific Language | Py-Deploy |
---|---|---|
Coding | Extensive knowledge in multiple languages required | Reduced need for scripting knowledge beyond Python |
Maintenance | Updates need to be implemented in multiple locations | All updates are handled through one system |
Speed | Each OS has pros and cons to speed | Python runs very consistent across platforms |