- How do you deploy from environment to environment without using MSI’s?
o Deployer in tarintino.
o Migrator.net to regress the database to a prior state.
§ Problem in the production. Can rollback your dev database to bring to same state.
o Hudson is free unlimited projects with git support.
§ Distributed deployment (does not allow full retention of history due to deployment approach)
o Separate build and deploy scripts (Antipattern)
§ Do some level of testing at deploy side.
§ Basic connectivity stuff should be test (Test the environment not the application)
- How do you define automation across multiple dependent projects?
o Publish your source to some place (Repository, file share, etc..)
o Major/minor – Major is breaking change, minor is new version.
o Managing service dependancies. – Check version at runtime.
§ Use the major version number inside the URL.
o If a project depends on another artifact incorporate the actual dll in the project.
o Salesforce.com – Multi tenancy.
- Configurations
o Multiple configurations
o Config file is just copied out there with the dev settings.
§ Use Nant to XMLPoke the config files and push in the properties from the environment. (Note: .build files will have to be maintained with each set of .config file changes)
- Integration test – Calls too much or out of process. (File system, AD, Database)
- Regression testing integrated into BA
o Watir and rspec to drive regression tests.
§ Behavior driven tests.
o Driven by watin. Goto the appropriate screen to verify the asserts.
§ This purely tests the ui level.
§ MBUnit galleo plugin takes screenshot on errors.
o Write new tests for a jira issue and assign the tests to the issue.
§ If a test fails then it reopens the issues and tracks who checked in last.
o Sometimes you have to manually look and test some UI.
- Just started using CC branching into parallel development. Best practice for build automation for those multiple teams.
o Move away from CC to Hudson.
- Key to documentation – Breakthrough a point of documentation to the point where nobody reads it anymore
o Docu
o Tests can document the code.
- Working Effectively with Legacy Code, Michael Feathers
-TT Tools mentioned:
- Fortress task system
- Tarantino
- Migrator.net
- Watin
- Watir
- RTest
- RSpec
- NAnt
- QUnit for testing
- Hudson -- allows build per branch
- CruiseControl (CCNET)
- TeamCity -- allows build per branch
- DocU for document generation and stats (link needs verification)
- MBUnit (Bundled with Gallio)
BUILD STRATEGY DIAGRAMS (BRANCHES)
Comments (0)
You don't have permission to comment on this page.