Move development to GitLab?
What about moving OGS development to our self-hosted GitLab instance? This is just an issue for discussion! Nothing is decided, I would like to hear your opinions! Feel free to directly edit this description.
Pros
- More project management features, e.g.:
- CI integrated (see below)
- No storage limits (LFS integrated). At least we can add more if we need to.
- Could get rid of
ogs-data
-repo - Could get rid of Jenkins
- envinf people and friends already have accounts
Cons
- Migration work
- Less visibility, keep GitHub as a mirror?
Why not use GitLab.com or git.ufz.de?
Our CI is quite resource intensive so we need to use our own CI runners (the nodes where the code is compiled and tested). This is possible only on self-hosted GitLab instances.
See comment below!
Also storage limits apply there (usually 1 or 10 GB per repo).
CI
I recently experimented with Gitlab CI and am hooked by its simple but powerful syntax and of course integration into GitLab. See my gitlab-ci-branch.
- Reduced complexity: current Jenkins definitons are almost 1000 LOCs vs. 350 LOCs for similar GitLab CI setup
- Better pipeline structuring: stages maintain visual structure, a DAG-feature speeds things up, child pipelines may help reduce visual complexity
- Manual job trigger for on-demand running of expensive jobs
- Easier nodes (called runner in GitLab) setup, nodes connect to (public) server -> no firewall issues
- Better UI
- Automatic setup of CI for user forks and other user projects
- Is part of GitLab itself, updates automatically
- We could get rid of Jenkins in the long run -> one thing less to manage..