Use Continuous delivery

Overview

The purpose of Continuous delivery is to be able to quickly deliver customizations and extensions of your project to production, without interrupting the work of the Live environment, without having downtime, or without the need to manually merge configurations or databases. You ensure your application functions as expected using thorough automation tests on a production-like environment. Propelling the changes through the environments is automated, which makes it more reliable.

The main goal of the process is that after every development iteration, you end up with the same setup, which you started with - code is the same on all environments, the latest database is on the Live environment.

The following chart displays a simplified overview of a Continuous delivery process:

Continuous delivery - Overview

PREREQUISITES: Before using Continuous delivery, you must have set it up. For more information, see Setup the Continuous delivery process.

Procedure

Development

  1. Download the latest database from your Live environment and restore it to your Development environment.
  2. Change the connection string to point to the restored database.
    You do this because it is recommended that you perform development against the latest database.
  3. Develop, extend, and configure your project.
  4. Build the project and execute Unit tests.
  5. Export the changes from your Development environment to create an export package.
    For more information, see Export and deploy code changes.

Testing

  1. Download the latest database from your Live environment and restore it to your Testing environment.
  2. Change the connection string to point to the restored database.
    You do this because it is recommended that you perform tests against the latest database.
  3. Import the export package from the Development environment.
    The export package automatically handles all code changes and changes to the database schema.
    The code on Test is the same as the code on Development environment. Latest database is restored and structural changes are applied to it by the export package.
  4. Proceed with testing.
    For more information, see Best practices: Testing
  5. If any of the tests fail, fix the test or, if not possible, perform the following:
    1. Go back to your Development environment to fix the problem.
    2. From your Development environment, export the project for deployment and import the changes to your Test environment.
      For more information, see Export and deploy code changes.
    3. Return to Step 3.
  6. For every Test environment that you want to have, perform the same procedure.

Production

After all tests pass successfully, export the changes from your Development environment, using Export and deploy code changes, and import them to your Live environment.

All code changes, configuration changes, and changes to the database schema are automatically handles.

RESULT: You have the latest development uploaded to Live. Live environment has not been down and is running with the most current database. All of your environments have the latest code.

 

Increase your Sitefinity skills by signing up for our free trainings. Get Sitefinity-certified at Progress Education Community to boost your credentials.

Web Security for Sitefinity Administrators

The free standalone Web Security lesson teaches administrators how to protect your websites and Sitefinity instance from external threats. Learn to configure HTTPS, SSL, allow lists for trusted sites, and cookie security, among others.

Foundations of Sitefinity ASP.NET Core Development

The free on-demand video course teaches developers how to use Sitefinity .NET Core and leverage its decoupled architecture and new way of coding against the platform.

Was this article helpful?