When you’re a developer ‘out in the field’ and working with all kinds of different people, businesses and disparate systems, you often spot little opportunities outside the project’s scope to build something extra: features, plugins, apps, etc. Quite often these just get filed in the back of your mind and you think, “one day I’ll actually get around to developing that”. But time often works against you and the idea remains an idea and nothing more.
A while ago at GLiNTECH, we started putting these sorts of ideas into a JIRA R&D backlog. In recent times especially, we’ve seen a growing interest from clients in Atlassian tools like Bamboo, which has translated in our devs playing around with add-ons. From that, we end up with useful (well, at least we think so) little creations like the WebSphere Application Server plugin for Bamboo which was recently released onto the Atlassian marketplace.
IBM WebSphere Application Server (WAS) is a feature-rich platform to deploy your Java-based web applications. It comes with a powerful administrative console that allows you to manage and configure every aspect of your applications. And while the wsadmin console does give you that ability, it doesn’t necessarily fit well with the iterative development model that requires us to perform the same actions over and over again on each release – which end up getting done manually. Therefore, we figured it’d be useful to reduce the opportunities for errors in each cycle.
So, we built a plugin containing templates that let Bamboo users manage web application deployment onto a WebSphere Application Server instance automatically, from within a Bamboo deployment job (a feature introduced in Bamboo 5.0). This allows you to perform standard application server tasks such as starting, stopping, deploying and un-deploying web applications – as well as other admin tasks. Because the plugin can be configured to push commands through automatically, you’re essentially removing an error-prone manual administrative task in managing your applications on WAS.
For those wanting some finer control over deployment parameters, that can be done by passing wsadmin script in JACL (Java Application Control Language) to the wsadmin script runner task. The script in the script runner can also reference Bamboo variables to be expanded on runtime.
It’s also worth mentioning that those who are yet to migrate to the deployment plans in Bamboo 5.0 aren’t being left out because the plugin also supports the same tasks as part of the build plans. We’d encourage you to have a play using the trial licenses and provide feedback – good, bad or indifferent!
Although this add-on is specific to Bamboo, we like to take the view that it’s also another little improvement in the complete end-to-end process linking back to other tools like Stash, Crucible and JIRA. And if that process is working really well, hopefully it’ll leave us with a bit more time to work on all those other little ideas we’ve got waiting in the background.