Source control of a project

When you provide a Git repository and branch for a project, you can push and pull your project to Git. This enables you to track your versions of your project, create a backup of your project in Git and manage the development lifecycle of your project.

You can provide the Git repository URL and branch for a project when you create one or when you import a project on the Projects page of Streaming SQL Console.

After setting up your remote repository, you can navigate to Source Control in your project, and use the Import and Push buttons to synchronize your local state with the state in the repository.

Importing a version of project
When you import a project from Git to SSB in Source Control, the configured Git repository is cloned to a temporary directory by SSB, the specified branch is checked out, and the resource files found in the directory with the project’s name are used to import resources to the SSB project.
After pulling a version of a project, the results are listed based on the imported changes that include UPDATED, DELETED, CREATED or ALREADY EXISTS.
Pushing a version of project
When you push a project from to Git in Source Control, the configured repository is cloned to a temporary directory by SSB, and the project resources are written to files in a directory with the project’s name into the temporary directory.

Changes are added and committed with the specified commit message, and pushed to the configured remote.

Changing the project settings
You can manage the source information of a project under the Source Settings tab. You can change the Clone URL and Branch information of the Git repository. You can enable Allow deletions for importing a project, and configure the Authentication method that is used when interacting with the repository.
Removing source settings
In case the source control settings need to be removed, you can delete the configurations for the repository using the Delete Source button.
Configuring author and committer
The Git username and email address associated with commits made from SSB can be configured using ssb.project-sync.git.user.name and ssb.project-sync.git.user.email configuration properties at Cloudera Manager > SQL Stream Builder > Configuration.