I want to create an application that will automate a very specific build process that is repeated daily.
- I need to build a C# web app, package the dlls and other necessary files (diff from last checkin in svn) into a .zip file in a certain structure.
- Connect to a secure remote Windows web server (with specific authentication), copy, unzip and deploy the files to the correct locations.
I was thinking a C# console app which will handle the connection to the remote server, and a combination of file operations in the code, or batch files run on the local machine and the remote server. I intend to use batch script to build the V开发者_JAVA百科isual Studio project, and run a diff on the svn tree and export changed files to a certain directory structure.
Is this at all possible? How would I achieve the remote connection and copy the files? Just wanting to see your thoughts.
Thanks for any help.
What you're trying to create is effectively build automation for which there are some excellent continuous integration products available. My advice would be to jump on the free, Professional version of TeamCity and use this to orchestrate your builds. It plays great with SVN and has built-in Visual Studio and MSBuild runners.
While you're there, unless you're trying to do something very bespoke, take a look at using Web Deploy to push the app out. There's a five part blog series titled You're deploying it wrong! which walks you through the entire process.
精彩评论