I'm new to umbraco, or CMS for that instance. I have seen the mechanism to do continuos integration between local (dev) codebase, cloud source control repository (like bitbucket) and azure website deployment - azure starts to deploy automatically everytime you make a new check-in to the cloud repository. Thta's very nice, but how can you control this process manually should you require, i.e. suppose you want to check-in the changes but do the deployment at a specific time to reduce any downtime, or any other practical scenarios you may face in a multi-developer environment probably even distributed, where check-in don't necessarily mean publish to production.
The other noob question i have is, since CMS will/would write any newly added razor-view to the views folder on the azure website vm (not sure where it does - disk or storage?), does it incur cost of some kind and how do you maintain sync across codebase on your local machine and cloud repository and the CMS site itself in that case, since the new views aren't syncedup on your cloud-repository nor the local machine. What's the best practice.
In answer to your first question I would recommend developing and committing on a development branch within your source control repository. Then, when you are ready, merge your development branch into a deployment branch. If your Azure Website is setup to monitor deployment branch changes, new code will only be deployed once you have merged and pushed your changes to the deployment branch. Your deployment branch would typically be the master branch.
To keep things like document types and templates in sync, you could install uSync within your Umbraco application. uSync serialises certain entities within Umbraco to disk. Then when an Umbraco application starts, uSync then makes sure the Umbraco application matches what is on disk.
From my observation so far between two sites, one in production and one on local devlopment, when I save the templates, the corresponding cshtml files get updated, as well as the record in the cmsTemplate table in the database. Thoug both sites use the same database (con string) the cshtml views have the final say on what's rendered, i.e. suppode the local template was different from production one, though the database is common, the cshtml file in the views folder is what's rendered correspondingly. This demands a mechanism for us to keep the physical files synced between two sites during development. It's difficult to keep track of what's changed on each machine and hence i asked the question. So uSync takes care of this?
uSync will detect changes made to templates through Umbraco and serialise it. If you are making changes on two different Umbraco installations, it would be a developer's responsibility to merge the two differing templates together on merge. I would recommend only making template changes on your local Umbraco instance as this will make keeping track of your changes easier. When your local changes have been pushed to production, uSync will update the templates to match your local ones.
Azure deployment codebase synchronization
Hi,
I'm new to umbraco, or CMS for that instance. I have seen the mechanism to do continuos integration between local (dev) codebase, cloud source control repository (like bitbucket) and azure website deployment - azure starts to deploy automatically everytime you make a new check-in to the cloud repository. Thta's very nice, but how can you control this process manually should you require, i.e. suppose you want to check-in the changes but do the deployment at a specific time to reduce any downtime, or any other practical scenarios you may face in a multi-developer environment probably even distributed, where check-in don't necessarily mean publish to production.
The other noob question i have is, since CMS will/would write any newly added razor-view to the views folder on the azure website vm (not sure where it does - disk or storage?), does it incur cost of some kind and how do you maintain sync across codebase on your local machine and cloud repository and the CMS site itself in that case, since the new views aren't syncedup on your cloud-repository nor the local machine. What's the best practice.
Regards
Hi Satish,
In answer to your first question I would recommend developing and committing on a development branch within your source control repository. Then, when you are ready, merge your development branch into a deployment branch. If your Azure Website is setup to monitor deployment branch changes, new code will only be deployed once you have merged and pushed your changes to the deployment branch. Your deployment branch would typically be the master branch.
To keep things like document types and templates in sync, you could install uSync within your Umbraco application. uSync serialises certain entities within Umbraco to disk. Then when an Umbraco application starts, uSync then makes sure the Umbraco application matches what is on disk.
Thanks, Dan.
Thanks Dan, I will give it a try.
From my observation so far between two sites, one in production and one on local devlopment, when I save the templates, the corresponding cshtml files get updated, as well as the record in the cmsTemplate table in the database. Thoug both sites use the same database (con string) the cshtml views have the final say on what's rendered, i.e. suppode the local template was different from production one, though the database is common, the cshtml file in the views folder is what's rendered correspondingly. This demands a mechanism for us to keep the physical files synced between two sites during development. It's difficult to keep track of what's changed on each machine and hence i asked the question. So uSync takes care of this?
Regards
Hi Satish,
uSync will detect changes made to templates through Umbraco and serialise it. If you are making changes on two different Umbraco installations, it would be a developer's responsibility to merge the two differing templates together on merge. I would recommend only making template changes on your local Umbraco instance as this will make keeping track of your changes easier. When your local changes have been pushed to production, uSync will update the templates to match your local ones.
Thanks, Dan.
Wonderful. Thanks Dan.
is working on a reply...