I work at a company with a number of products. As a release engineer, part of my job is to try to standardize process as much as possible to enhance reproducibility.
One part of the process that many release engineers know is sometimes tedious and intensive is the creation, testing and maintenance of installation programs. I manage over a dozen products' releases; each had their own installation process. There had to be a better way.
I developed a Python script for installations that was specially designed with one small (5-10 line) section that could be replaced by a real segment of code for the product that needs the script. This one small section that gets replaced defines the directory structure for the product that will need to be (re-)created before the distribution can be put in place. It also defines what kind of distribution file should be expected as input to the program (tarfile, directory, single file, etc.)
This allows me to create template instantiations for the installation programs for each of the products based on one single install program. All the install programs behave the same way, have the same options and have the same feature sets.
No comments:
Post a Comment