Setting Up The Project for Development

Cloudvanti is a platform that facilitates an environment to customize development codes and database changes. Subscribers gain full access to their project source code and database, deployment source code and database, backup and restoring of the database. This integrated CI/CD with a Repository shall enable Subscribers to deploy with own custom codes.

Cloudvanti Sitefinity manages the code and database development repository separately. The two (2) separate repositories provided are for the Source Code and Database which connected to the CI/CD pipeline.

Source Code Repository

Each Code Repository is provided with a branch called 'Master Branch'. When a code is committed in the Master Branch, it will automatically trigger the pipeline CI.

Database Repository

The Database Repository has two (2) branches:

  • Staging Branch: used to deploy from the Staging Database
  • Production Branch: used to deploy from the Production Database

The function of branches separation is to anticipate that the SQL scripts deployed between Staging and Production may differ. Each of them shall automatically trigger each respective Pipeline CI.

The function of branches separation is to anticipate that the SQL scripts deployed between Staging and Production may differ. Each of them shall automatically trigger each respective Pipeline CI.

Cloning the Repository

The Cloudvanti Sitefinity environment comes with a Git repository for you to place your projects in. You can access it through the Management Portal.

Here is how you can clone your projects into the repository:

  1. From the Management Portal select Repos, then select CloneRepository.
    <subscription-name>-DB, for database repository
    <subscription-name>, for source code repository



  2. Click the Clone button.



  3. A prompt displaying the repository URL and credentials will appear.

Source Code File Structure

Once your files have been cloned into the Git repository, they will be sorted according to the default file structure of Sitefinity known as Default File Cloudvanti (DFC).

THINGS TO NOTE ABOUT FILES AND FOLDERS IN THE DFC

Cloudvanti CI/CD processes will use files from the DFC. This structure is also applied to existing Sitefinity Projects.

  1. All default folders and files in the DFC are of the same level as the .git. These files should not be moved to any other folders.



  2. However, you may add folders and files into the DFC, but it has to remain the same structure as the default.



  3. Provided by default in the DFC, the .sln and .csproj files should be found together in your project at all time as the CI/CD process will be running based on them.



  4. Be sure to have your dependencies and library referenced from nuget.org.
  5. Be sure to register all files within the .sln and .csproj folders.

Database File Structure

The .git folder will be the first thing you see after cloning into the Database Git repository.

When deploying new scripts, a new folder will be created which contain the new scripts.

The name of folder and files should also comply with the naming convention as follows:

  • Things to note when creating folders
    yyyy
    -MM-dd-zzz
    • yyyy-MM-dd: DateTime format
      DateTime helps to track and log the history of your Deployment database.
    • zzz: Commit number of the folder, starts at 001
      • The number should be unique for files of the same day.
      • Folders execute scripts. To deploy the database of multiple commits within the same day, you would have to create different folders per commit. Adding new script to the old commit folder would cause them to repeat other scripts in addition to the newly added one.
        For example:
        Two (2) scripts are being deployed within the commit pipeline - the create user and tenant tables within folder 2020-08-14-001. A new script is created for a dashboard table to deploy within the same day. A new folder named 2020-08-14-002 is created that contains the new script for it to commit in its instance.







  • Things to note when creating script files
    x_<filename>.sql
    • x: Single-digit number (1 - 9) to indicate the execution order of the script. The Pipeline executes scripts listed in ascending order.
    • The script file's extension should be *.sql.
    • Avoid using unsupported Azure SQL Database statements (e.g. USE statement). For more information, please refer to SQL Documentation.