Public Posts
Ioannis Xanthopoulos
How to automate the deployment of a collection of scripts using Ixanos
Public Post
25 days

How to automate the deployment of a collection of scripts using Ixanos

Nowadays, many applications consist of several discrete files that need to be modified to fit to the environment of deployment. This means that several strings within these files need to be changed. These can be absolute locations (directories) or volumes or application names or connection strings etc. To deploy such an application on different environments can be a critical task and may require a person with application knowledge to guarantee success. Ixanos, is targeting this difficulty by storing a meta-file describing all the actions that need to take place. Further on, it can execute this meta-file and deploy the application on any environment automatically. This guarantees successful deployment every time and without the need of an expert.
To see this in praxis, let us assume the following example: We have a Java application that requires the following:

a. Compilation of source java files
b. Prepare an ant-build file to control the build-process
c. Generate JavaDoc files and store them in specified directories
d. Build of a jar archive corresponding to the application executable
e. Copy certain files in specific locations to be used by the obfuscator
f. Obfuscate the compiled classes
g. Call an installer application to generate a setup executable
h. Back up source files
i. Back up Jar files

All these tasks have strong dependencies on the location of the required applications and will cause plenty of problems when porting them on a different environment. Reason being the fact that nobody guarantees that in the new environment the location of the ant.exe or java.exe or javac.exe or javaDoc, or obfuscator or … will be in the same location. This means that you would have to go and change all these locations in all the files involved in the above process. As you understand, this is not a simple task. Using Ixanos it can be the click of a button only! For the above example we would do the following steps:

a. Check all parameters in all involved files that need to be changed when going to an arbitrary different environment. For example, if you find in one of your scripts the following: c:\programms\sun\java\bin\java.exe change it for example to [[&JAVA_EXE]]. Ixanos recognizes all strings in the form [[&xxxx]] as bind variables and will attempt to replace them with proper values.

b. Decide upon a directory where you wish to copy the prepared scripts to. Our suggestion is to concentrate them in a single tree structure:

Image 1

c. Use the Ixanos wizard to create the meta-file.

d. Build the application and test the process

The meta-file is basically a text file in XML-format. We directly present it, as we believe that this way we facilitate the learning procedure:

Image 5

The meta file above is sufficient for Ixanos to deploy this application. It contains the following information:

a. The root directory where the application will be deployed ("C:\___test")

b. To copy all files from the directory "C:\yxknowdb\archive_YXML" to the directory "C:\___test\ archive"

c. To copy all files from the directory "C:\yxknowdb\archivelight_YXML" to the directory "C:\___test\ archivelight"

d. To copy the file "C:\yxknowdb\archive_YXML\yx.pro" to "C:\yx\proguard4.2\lib\yx.pro"

e. To copy the file "C:\yxknowdb\archive_YXML\yxLight.pro" to "C:\yx\proguard4.2\lib\yxLight.pro"

f. Then it tells Ixanos that all files directly under the directory "C:\yxknowdb\archive_YXML" and all its sub-directories shall have their bind variables replaced. (LookForBinds="true")

g. It also tells Ixanos that all files directly under the directory "C:\yxknowdb\ archivelight _YXML" and all its sub-directories shall have their bind variables replaced. (LookForBinds="true")

h. It also tells Ixanos that the file "C:\yxknowdb\archive_YXML\yx.pro" and "C:\yxknowdb\archive_YXML\yxLight.pro" shall have their bind variables replaced (LookForBinds="true")

i. It also tells Ixanos that wherever a bind variable is found (ie: something in the form [[$xxxxxx]] it should be replaced according to the following map:

Image 6

When this is in place you can run the meta-file (use this button Image 2) and see the results:
Two directory roots have been created. First is:

Image 3

And Second is:

Image 4

If you open each file you can see that the corresponding bind variables have been replaced by Ixanos.
To summarize, in case you wish to deploy the above meta-file on any other environment you only need to change the bind variables to reflect the directories of the new environment and hit on execute to generate the new build files. That’s it. Note that you only change the directories in a single file, namely, the Ixanos meta-file.

The ixanos.com team.

  [ My Dashboard ] [ Home ]

Ixanos is shipped within 24 hours and comes with free upgrades for 2 years.

Home| Contact| About| eShop| Products| Tutorials| Download| News| Blog

All Right Reserved © 2000-2018 by Ixanos.
Terms and Conditions     Refunds     Privacy Policy