As a software development company we know well that the very basis of this business are developers, whose skill and knowledge create the most valuable asset in the industry: code.

Keeping the code safe is one of the most important things to maintain. In Buddy we pay great attention to data security, with ultra-safe server infrastructure protecting your code from undesired access.

However, no matter what level of military grade safety means you employ, it will not protect your code from internal errors in your company. In other words, there is a reason why the level of permissions of an employee is directly proportional to the level of competence and his role in the company.

In Buddy we give you a series of tools that will help you secure the quality and safety of your code.

Permissions

In short, permissions define the scope of user access in the project.

At the top there are admins who have full access to all projects in the workspace. You can grant admin rights to a user on his profile.

Non-admins can view and browse only the projects to which they were added. Each member of the project can be assigned one of the two default permission sets:

  • Developer - user has full access to repositories and pipelines (default)

  • Read-only - user may browse the repository but cannot edit code or commit changes; he can view the pipelines but cannot execute them or manage actions.

If you need more scrupulous control over your workspace you can create a custom permission in Dashboard → Preferences:

Custom permissons
Custom permissons

Branch permission and merge requests

With permissions you define if a user can or cannot make changes in the repository. However, sometimes we need a more precise level of control. For example, when one of Junior devs is working on a feature but we cannot allow him to push changes to the master branch without a prior check.

In this case such developer should create a new branch for the feature. Once the work is done, he can issue a merge request. The Senior developer is notified and can now review the code, comment on changes and merge the branch to master if everything is fine.

You can employ such workflow in Buddy with two features:

Merge requests - allowing developers to review and discuss the changes before the merge is made so you can be sure the code has been verified.

Branch permissions - allowing you to restrict write permissions in a branch in the repository to a specific user or a group of users. By default all project members are given full R/W access to the repository. With branch permissions you can to change it, eg. so that only administrators can push changes. Note that everyone who has access to the project can still view and browse this branch.

Push permissions
Push permissions

Pipelines visibility

Usually, one of the pipelines is used for delivering the project to Production. Such pipeline should be visible only to people entitled to release the product on LIVE servers. In Buddy you can hide such pipeline from other users. This setting can spare your the horror of releasing your half-finished bug manufacture to the public by accident.

Visibility settings
Visibility settings

Summary

In Buddy we strive to provide you with tools that will ensure you that the safety and quality of your code is dependent solely on the people that you trust. If you have any suggestions what else can help us achieve this goal, shoot us an email at support@buddy.works. Thanks!