Friday, August 8, 2014

An interesting exercise with Powershell for implementing continuous integration with Epicor E4SE

I have been working with Epicor E4SE for a couple of years now, our systems are heavily customized and we also have an in-house development team working on development and support. As the application grows, we are building more sites and also ongoing tasks of deployment becoming quite a bit overhead, it is this point that I started to looking into ways to automate all these tasks and achieve continuous integration.
Another thing that worth mentioning, I used Jira in a previous job and found it is really handy thus introduced and implemented Jira and also its fisheye subversion integration, this helps us to manage the development team's work in a much efficient way. This does provide a foundation for us to go a step further to work towards continuous integration and work in a much more agile way. Initially I was looking into develop the build script using C# however it is not easy for us to modify the code as it goes and it is also not as easy to integrate with other scripts for system configuration which are usually written in different scripting language, the final language I chose is powershell due to its rich feature and ongoing populality, the functionalities includes the following:
> automatically check out latest version of source from subversion
> build the source using the checkout source, including components assemblies, interface assemblies, proxies interfaces and javascript web service proxies, forms, reports (aspx), a lot of these are achieved via calling Epicor.Tools
> automatically create application folders and copy application files over.
> create web application and application pool, configure web application and application pool automatically, these include E4SE web app, SecurityManager and Firesentry.

No comments: