4 ms·
That's similar to the setup we've put together at our company. * Subversion for source control * Jenkins for building/testing/deployment coordination (each
by lscharen 16y ago
That's similar to the setup we've put together at our company.
* Subversion for source control
* Jenkins for building/testing/deployment coordination (each project has a Build, Push to Test Server, Integration Test Suite, and Push to Production set of jobs)
* NSIS to build installers
* Migrator.NET for database schema migration and rollback
* PsTools + NAnt + Robocopy + Misc. Utils to deploy to remove server
Our deployment process (managed by Jenkins), looks like this:
1. Pull code from SVN
2. Build the code
3. Run unit tests
4. Build the database migrations
5. Build the installer
6. Copy the installer to the test server
7. Use PsExec to run the installer
8. Copy back the install log to the build server
9. Build the integration test suite
10. Run integration tests (usually Selenium + NUnit)
11. Copy the installer to the production server
Final deployment is done from within Jenkins, too, but is a manual process for now. And by "manual" I just mean that someone has to click the "Run Job" button.
Sure, it's not an "integrated" solution, but I don't really see how I'd have needed less control or granularity if I were building and deploying on Linux and didn't use Ruby.