Tomcat on centos linux deploys

Does anyone have any advice on how they are packaging up war files in nuget packages? This seems to be the current roadblock for us to get deployment processes setup in a similar manner to our .net deploys. We want to be able to pull from our nuget feed and perform variable substitutions in the same way we do with the windows stuff. If anyone has tackled this, some guidance would be much appreciated.


Thanks for reaching out. Did you know that since 3.3 Octopus also supports .zip and .tar files? I’m bringing this up because its a bit easier to deal (create/deploy) with filesin that format in Linux environments.

More info on how should these files be formatted over here;

Let me know if that helps,

I was aware of this, but am not sure how it will help in this scenario? The artifacts that we have are war files and/or jar files. Are you suggesting that we tar these up, publish them to the internal octopus repository and pull our packages from there?

Exactly what I was suggesting :). How are you building this .war files? from a build server? If so which one and on which OS is it running?

We are using teamcity on centos 6.3 and publishing our artifacts to artifactory at the moment.

Given that your build server is running on Linux, my suggestion of packing your war files in Jar/Zip and pushing them to the internal repository will be a bit easier than trying to create a nuget package in a Linux environment.

Let me know if that works for you.

Well I will say for our .net stuff we have a windows teamcity instance running on 2012…does this change your recommendation? It seems like trying to build a war on a windows machine might not necessarily be a better option?

From an Octopus perspective its really the same which package format you choose and on which platform you pack it. Try building your war file wherever you feel the most comfortable. Now for the pack/push:

If you want to use your TC Linux instance: Creating your package as a Jar/Zip and then pushing it to the Octopus built-in repository its gonna be the easiest approach.

If you want to use your TC Windows instance: You can use TC’s built in step Nuget: Pack to create the package and then Nuget: Push to push it to a repository.

Ok, sounds good. Thanks for spelling out our options!