Reputation: 2243
In my organization we have more than 200 Microsoft desktop and web applications. I am trying to setup the continuous integration and Continuous deployment for those application(I already did for Java applications). We already have the following tools at place Enterprises Github, Jenkins, Nexus, XL-Deploy and XL-Release. We have also developed a framework in groovy that is invoked by Jenkins and dose all the automatic job creations in Jenkins and push generated artifact into nexus.
I want to setup the homogeneous solution and want to use the same tools set for the Microsoft.
I go through the Nexus documentation and didn't find any way to store the generated artifact(.exe or MSI) It only support the Nuget packages and I am not sure what are they and how to use them?
I am able to build my project solution file using msbuild.exe in Jenkins execute shell and able to generate the artifact in the form of .exe and MSI.
Now I have few questions:
-- How and where should I versioned and store the generated artifact(.exe and MSI) and how can I deploy my desktop applications on the targeted host(as we all know we need to double click on the .exe to install that).
-- How should I proceed with the web .net applications?
-- What is nuget package and can I use them for desktop applications deployment instead of MSI and do I need do modify any thing in my code for doing that ?
PS: I know TFS is the solution but we can not use that in our organization because of cost constraint.
Upvotes: 0
Views: 1203
Reputation: 2243
I find the solution for this:
What I am doing is, I compiling the the solution file using msbuild command line and this will generate the .exes for me. Once the exe's are generated I am packaging them into MSI using the WIX utility. once the MSI is generated I am versioning them using the linux mv command and a for loop the I am pushing them into Nexus repo using maven command passing the GAV parameters.
Upvotes: 0
Reputation: 750
To upload the non-maven project artifacts such as zip, msi etc you can use Nexus Artifact Uploader. For this to work it is mandate to create maven type hosted repository and after that, upload the artifacts to this by populating GAV parameters and can be retrieve the artifacts based on the GAV parameters.
To deploy the artifacts to the test environments use WinRM Client Plugin to connect test environments.
Upvotes: 1