Skip to main content

Projects and Branches

Projects

The first thing that should be created is a project. It defines scope of view. All entities defined inside a project are not visible or available in other projects.

To add new project click New Project button. Then you are asked for a name of the new project. After adding new project on the main page a tile for new project should appear. There is a New Branch button that allows for creating a new branch for this project.

Branches

Branch is the first entity inside a project. There can be many branches in a project. Branch logically represents a branch in a source code repository and all development activities involved with it.

The first project that can be created is main or master branch. To do that click New Branch button and enter its name. Click on branch name to get to branch page. On this page it is possible to define workflow schema for the branch and things.

In the scope of a branch there are defined two sets of "builds" or Flows actually. These two sets of flows are called CI Flows and Dev Flows. On branch page, after defining workflow schema, one can trigger a CI Flow or Dev Flow. They are connected with 2 different set of activities. Logically, CI Flows are triggered by commits pushed to master branch. So they are associated with traditional CI activities, ie. post-commit verification of the changes. Dev Flows are used to verify pre-commit changes, the ones that are located on developer branches forked from master branch or the ones that are comming from Pull Requests or Merge Requests. So after completing such changes they are merged to master branch what triggeres a new CI Flow.

The workflow schema defined in a branch is the same for both CI Flows and Dev Flows. The schema may be differentiated by introducing a condition on flow type.

Coming back to a workflow schema in a branch, it is defined as a set of stages. More about stages and their schema in the next chapter.