GitLab

GitLab is our central source code management tool. It’s the place where we keep all our tools, puppet modules, or hiera configs.

INFO: To learn more about how we use Git, consult the Git Guidelines in the Wiki.

Given the complexity of code and its required levels of quality, we’ve implemented several measures to manage it.

Merge Requests

If not explicitly stated otherwise, a project will use GitHub flow. In GitHub flow, every new feature or bug gets its own branch.

We merge according to the four eyes principle, meaning that another person has to review and merge your merge request.

CI/CD

CI/CD is an integral part of the DevOps philosophy. Projects we create should have a CI/CD pipeline to ensure short release cycles with fast, frequent and safe deployment of changes.

Pet Projects

We encourage pet projects at VSHN if you think they bring value to all of us.

As an engineer you might write scripts to simplify your work, to help you be more productive, or you just have a silly idea that could be fun or otherwise useful. If you think it will save you (us!) time in the long run, it’s probably a good idea.

We encourage you to put them under version control, public or on our GitLab. Also tell others about it and mention your project on this wiki page.

Sharing your experience through code allows everybody to learn and use it.

As always, please try to keep the time investment in balance with your work achievements. If it’s something like a toilet sensor, it’s okay to invest one to two hours initially (if your workload permits), but your work shouldn’t be impacted.