Using Integrated Version Control allows you to version your changes. Setting up a CI/CD pipeline allows you to test and deploy those changes as as part of a smooth workflow.
Integrating Rasa X with Git via Integrated Version Control enables your team to use the full power of the Git ecosystem:
Apply a review process for any changes to your model
Automatically run continuous integration tests to see results of changes and ensure your model’s accuracy
Minimize the time from change to production with continuous deployment
Once you have connected your assistant’s repository to your Rasa X server, Rasa X will automatically pull data from your remote repository and reflect those updates in Rasa X. At this initial stage, Rasa X will have the latest data from your remote repository on the Git server. Rasa X will indicate that you are up to date with the latest changes with a green state in the side bar.
When you make a change to your assistant in Rasa X, the side bar state will transition to an orange state. This means that you have changes that can be pushed to the remote repository when you are ready. During this time, Rasa X won’t fetch new changes from the remote repository to avoid overwriting your changes.
When you are finished making changes and are ready to add them to your Git server, you can commit and push them by clicking on the Git icon in the sidebar. If your remote branch has not changed while you were annotating, you can choose between
pushing changes directly to the remote branch
pushing them to a new branch
If new changes were added to the remote branch while you were annotating, you will only be able to push your changes to a new branch to avoid potential merge conflicts. Rasa X will notify you that there have been changes to the remote branch with a red state on the side bar.
When you are ready, click on the side bar icon and follow its instructions. Once your changes are pushed, Rasa X will return to being in sync with your remote branch and will pull in the latest changes from your remote as they become available.
If you pushed your changes to a new branch, these changes won’t be reflected in Rasa X until you have merged them into the target branch.
You can of course also discard your changes. Rasa X will then be reset to the latest state of your remote branch.
When improving your assistant, you’ll make different kinds of incremental updates. To automate the integration of these improvements into your deployed assistant, you should set up a CI/CD (Continuous Integration/Continuous Deployment) pipeline.
For more information on leveraging Integrated Version Control for continuous integration and deployment, check out the Rasa Open Source user guide on CI/CD.