Reputation: 4816
I would need some advice how to set up my development process so that I can easily develop and deploy both the test and the production version of my application.
Current state of my project:
What I would like to have:
My plan is to clone my existing repository into a new one (from App to App-Test for example) so I will end up with two seperate codebases. Then the new features would be implemented and published in the App-Test application. When the users are happy with the testing version, I would somehow move changes from App-Test repository to App repository (probably with the Mercurial's merge command) and then publish production application...
Is this a the right way to achive this? Any other suggestions or links to some resources? Could this be done within the same repository somehow?
Upvotes: 1
Views: 1644
Reputation: 97282
Two separate environments - one for production application and one for a test application, which is the same a production application but with added features, which may or may not be added to the main application.
Single branch with MQ on top of it, there "production" app is all changesets, "test" is "production" + applied patches of MQ (one patch per developed feature)
I would like to publish both applications with Click-Once (for example App and AppTest)
I know nothing about Click-Once, out of ideas
I would like to have an option to simply 'move' changes from Test application to Main application, or simply discard them.
Finish MQ-patches to convert into permanent changeset, just delete obsolete patches
Upvotes: 1
Reputation: 3279
This may be one repository, but with 2 (or more) brunches. For example, we use git for source control and 3 brunches - develope, test, release. Features (or tasks) started their life in develope brunch. Then they moved (merge) in test, and after testing moved in release.
But you may get problem with database changes (are you use some ORM?), because you'll need to have 2 different database. If you don't use some ORM, merge database may be difficult. But I think that, for example, entity framework (code first) saved your time.
Good luck!
Upvotes: 1