CI vs Content staging

Matthew Butler asked on March 23, 2022 09:28

I'm new to Kentico and I'll looking to use Kentico 13, but I'm unsure of the best setup of environments, my current working proposal is devs have individual DBs synced through CI, the Test env use CI, then Staging and Production use Content Staging.

  1. What are the advantages of CI over content sharing?
  2. I've read of slow sync times for both CI and Content Sharing, is this correct and are there other options?
  3. Whats the general approach of preventing test data from syncing?
  4. Does Content staging require configuring before changes are logged, or can you add a new server at any stage and sync?
  5. I have also read someone followed a similar approach and the use of CI to dev meant that all the objects were added to be staged rather than just the new objects? is this correct? if so how do you mitigate this?

Correct Answer

Dmitry Bastron answered on March 28, 2022 15:04

Hi Matthew,

For example, our agency are mainly using CI for structure synchronization (page types, modules and custom classes, settings, etc.) and Staging for synchronizing content changes (even across dev environments). By doing this we can have structure changes committed to the code repository, but not the actual test content.

To answer your other questions:

  1. The only real advantage of it that it could be stored in code repository, therefore structure changes is good to save in this manner.
  2. As for CI it is generally slower than Staging also keep in mind you should shut down website while restoring things through CI. As for the Staging it's performance is acceptable in general, but if you are synchronizing large media library it obviously can take some time to copy files.
  3. For CI you can set up exclusions for content via repository.config file, please refer to the docs here
  4. You can add a new server at any point and force the sync of specific elements manually.
  5. Not sure if I understood the question correctly. Could you please provide more context?
0 votesVote for this answer Unmark Correct answer

Recent Answers


Sean Wright answered on April 4, 2022 18:14

One thing to note about Content Staging is that it needs an accessible URL to send requests to, as it is HTTP based, whereas CI only needs a connection to the database.

My team is small and we use a shared local database (instead of each developer having their own database). For larger teams this isn't recommended, but for smaller teams it is an option.

We setup a "Local" instance of the CMS administration application on a server which is connected to the shared local database. This allows our team to synchronize content from Production/Staging/Test environments back to our local machines after the site has gone live. This isn't possible with the CI tool.

0 votesVote for this answer Mark as a Correct answer

   Please, sign in to be able to submit a new answer.