We’re a web development shop using PHP or .Net. Here’s the proposed path for development:
Developer -> SVN Server -> Jenkins Server -> Dev Server
- A developer commits or creates a tag to the SVN Server
- Either a commit or tag triggers a job on Jenkins asynchronously
- The job on Jenkins will run a svn update (or clear destination space, then svn export) on Dev Server bringing the code in from the SVN Server
- For .Net, after having copied the code, I need to compile it using aspnet_compile
My question is two fold, is this a proper use of Jenkins? And, if I were to compile .Net using aspnet_compile.exe, would installing a slave on the Microsoft OS be the way to go (to enable this)?
To futher the answer:
Check the Restrict where this project can be run, select slave.
This sounds like a fairly standard build / deploy workflow and therefore a good use of Jenkins, but I’d suggest doing step 4 as part of your Jenkins build and then deploying the compiled artifacts to your dev server also using Jenkins. This way you’ll be able to have Jenkins report compilation problems as build failures and have the ability to run tests against the compiled code as part of the Jenkins job, per @thescientist’s comment.
If your Jenkins master is running on an operating system other than Windows, you can use a Windows slave to do the compilation. You could even have the slave process running on your dev server to make deployment easier; I wouldn’t recommend this for a production setup, but it’s OK for dev.
Here are some links which may help you:
Running Jenkins on Windows
Building ASP.NET code with Jenkins
Jenkins and PHP