FAQ | This is a LIVE service | Changelog

Update GitLab Soft Launch authored by Dr Rich Wareham's avatar Dr Rich Wareham
...@@ -2,6 +2,8 @@ ...@@ -2,6 +2,8 @@
This meeting is to introduce the GitLab service which is part of the new University Developer Hub. This meeting is to introduce the GitLab service which is part of the new University Developer Hub.
The GitLab team can be contacted by [opening an issue](https://gitlab.developers.cam.ac.uk/uis/devops/devhub/docs/issues/new) on the support project. If there is a problem opening an issue, the role address gitlab-team@developers.cam.ac.uk can also be used.
The Developer Hub is intended to be a community building tool for Software Developers in the University. The Developer Hub is intended to be a community building tool for Software Developers in the University.
It is still in its infancy but we're looking for early feedback on services and to build an initial community. It is still in its infancy but we're looking for early feedback on services and to build an initial community.
...@@ -23,8 +25,6 @@ UIS (then UCS) first launched a git service in 2013. It's currently managed by T ...@@ -23,8 +25,6 @@ UIS (then UCS) first launched a git service in 2013. It's currently managed by T
Using some statistics from the end of 2017, the current git service at git.uis.cam.ac.uk Using some statistics from the end of 2017, the current git service at git.uis.cam.ac.uk
* serves around 40 research groups and institutions; * serves around 40 research groups and institutions;
* has around 500 users of which around 100 are active each month; * has around 500 users of which around 100 are active each month;
* hosts around 1000 repositories of which around 300 to 400 are active each month; and * hosts around 1000 repositories of which around 300 to 400 are active each month; and
...@@ -34,46 +34,35 @@ Although the service has been both popular and robust, it can be somewhat intimi ...@@ -34,46 +34,35 @@ Although the service has been both popular and robust, it can be somewhat intimi
The following features of the git service proved to be very good ideas: The following features of the git service proved to be very good ideas:
* **Delegated administration.** The administrators of a given institution or research group's top-level "folder" had complete control over how repositories within their top-level folder was managed. (We call these top-level folders "accounts".) * **Delegated administration.** The administrators of a given institution or research group's top-level "folder" had complete control over how repositories within their top-level folder was managed. (We call these top-level folders "accounts".)
* **Light touch in deciding who had an account.** If you viewed yourself as an autonomous group, we let you have a folder. * **Light touch in deciding who had an account.** If you viewed yourself as an autonomous group, we let you have a folder.
We're hoping to take those ideas forward. Some things which proved difficult with the current service: We're hoping to take those ideas forward. Some things which proved difficult with the current service:
* **Group management.** There is some Lookup integration but there are still too many times where adding/removing members to a group required emailing a local admin. * **Group management.** There is some Lookup integration but there are still too many times where adding/removing members to a group required emailing a local admin.
* **User management.** Adding users to an account required emailing a local admin. * **User management.** Adding users to an account required emailing a local admin.
* **Cross-institution sharing.** Beyond making a repository completely public, it was fiddly to share work across top-level accounts. * **Cross-institution sharing.** Beyond making a repository completely public, it was fiddly to share work across top-level accounts.
The GitLab service should help address some of those difficulties. The GitLab service should help address some of those difficulties.
## Where we are ## Where we are
We've secured the resources to deploy an "alpha" GitLab service. This service is resourced by the TDF until August 2019 after which we're seeking chest funding. We've secured the resources to deploy an "alpha" GitLab service. This service is resourced by the TDF until August 2019 after which we're seeking chest funding.
In the alpha phase we In the alpha phase we
* build a prototype of the service; * build a prototype of the service;
* test the prototype with users; and * test the prototype with users; and
* demonstrate that the service is technically possible. * demonstrate that the service is technically possible.
We use our experience building prototypes in the alpha to: We use our experience building prototypes in the alpha to:
* find problems with the design of the service and decide how to solve them; * find problems with the design of the service and decide how to solve them;
* make some estimates about how much the service will cost; and * make some estimates about how much the service will cost; and
* identify the biggest risks for the beta stage, as early as possible. * identify the biggest risks for the beta stage, as early as possible.
By the end of alpha we aim to know: By the end of alpha we aim to know:
* whether to move the service into the beta phase; and * whether to move the service into the beta phase; and
* what we need to build in beta if we move into beta. * what we need to build in beta if we move into beta.
...@@ -81,7 +70,6 @@ Although the service is alpha we are still intending it to be robust. We **do no ...@@ -81,7 +70,6 @@ Although the service is alpha we are still intending it to be robust. We **do no
The GitLab service is now live. We have a single top-level UIS group. If you'd like to get a group, [open an issue on the support project](https://gitlab.developers.cam.ac.uk/uis/devops/devhub/docs/wikis/Information-for-UIS-users). The GitLab service is now live. We have a single top-level UIS group. If you'd like to get a group, [open an issue on the support project](https://gitlab.developers.cam.ac.uk/uis/devops/devhub/docs/wikis/Information-for-UIS-users).
## What we'd like from you ## What we'd like from you
We want users within UIS to exercise our GitLab deployment and its features. We expect bugs and we expect policy questions to be raised which we don't have answers to. We want users within UIS to exercise our GitLab deployment and its features. We expect bugs and we expect policy questions to be raised which we don't have answers to.
...@@ -90,7 +78,6 @@ By adopting GitLab early, you'll have a chance to provide early feedback about w ...@@ -90,7 +78,6 @@ By adopting GitLab early, you'll have a chance to provide early feedback about w
At the moment we have a fairly vanilla deployment with very little custom configuration. As the service progresses we'll add configuration where appropriate in response to user need. At the moment we have a fairly vanilla deployment with very little custom configuration. As the service progresses we'll add configuration where appropriate in response to user need.
## How do I migrate repositories from git.uis? ## How do I migrate repositories from git.uis?
We have no automated migration support at the moment. Because we gave local admins such flexibility to define permission models, it's non-trivial to migrate permissions over with complete fidelity. We have no automated migration support at the moment. Because we gave local admins such flexibility to define permission models, it's non-trivial to migrate permissions over with complete fidelity.
...@@ -99,57 +86,43 @@ Project owners may [configure repository mirroring](https://gitlab.developers.ca ...@@ -99,57 +86,43 @@ Project owners may [configure repository mirroring](https://gitlab.developers.ca
[More information](https://gitlab.developers.cam.ac.uk/uis/devops/devhub/docs/wikis/FAQs#is-there-any-support-for-migrating-from-the-gituiscamacuk-service) can be found in the Developer Hub documentation. [More information](https://gitlab.developers.cam.ac.uk/uis/devops/devhub/docs/wikis/FAQs#is-there-any-support-for-migrating-from-the-gituiscamacuk-service) can be found in the Developer Hub documentation.
## Key GitLab Features ## Key GitLab Features
### Repository Hosting ### Repository Hosting
Like the current git service you can host shared or personal git repositories. Like the current git service you can host shared or personal git repositories.
### Delegated Group Management ### Delegated Group Management
Groups can contain subgroups. Owners of a group can manage membership of the group and subgroups themselves without involving a local admin. Groups can contain subgroups. Owners of a group can manage membership of the group and subgroups themselves without involving a local admin.
### Protected Branches ### Protected Branches
Branches in a project repository can be marked as "protected" to disable, amongst other things, force-pushes re-writing history or code being merged if it has not been reviewed or does not pass tests. Branches in a project repository can be marked as "protected" to disable, amongst other things, force-pushes re-writing history or code being merged if it has not been reviewed or does not pass tests.
### Merge Requests and Code Review ### Merge Requests and Code Review
Collaborators on a project can submit their changes as a Merge Request. Depending on how the project is managed, a Merge Request can also be reviewed by another collaborator and feedback given in the Merge Request. The owners of a project may designate certain branches as requiring Code Review before changes are merged in. Collaborators on a project can submit their changes as a Merge Request. Depending on how the project is managed, a Merge Request can also be reviewed by another collaborator and feedback given in the Merge Request. The owners of a project may designate certain branches as requiring Code Review before changes are merged in.
### Wikis ### Wikis
Projects can have associated wikis. Projects can have associated wikis.
### Flexible Permissions model ### Flexible Permissions model
Users can be granted different levels of access to projects. Projects can be made publicly readable or restricted to people who can log into the GitLab service. (To a first approximation, this is the set of people with a Raven account and selected external collaborators.) Users can be granted different levels of access to projects. Projects can be made publicly readable or restricted to people who can log into the GitLab service. (To a first approximation, this is the set of people with a Raven account and selected external collaborators.)
### External Collaborators ### External Collaborators
An external person can be given a login and access to a project. External collaborators can optionally be given the same read rights as a Raven account holder on a case-by-case basis. An external person can be given a login and access to a project. External collaborators can optionally be given the same read rights as a Raven account holder on a case-by-case basis.
### Continuous Integration and Deployment ### Continuous Integration and Deployment
GitLab comes with a flexible CI/CD system which can be used to run tests and/or deploy your code on every commit and/or merge request. GitLab comes with a flexible CI/CD system which can be used to run tests and/or deploy your code on every commit and/or merge request.
## Resources ## Resources
* [GitLab help on the Developer Hub](https://gitlab.developers.cam.ac.uk/help) * [GitLab help on the Developer Hub](https://gitlab.developers.cam.ac.uk/help)
* [GitLab features list](https://about.gitlab.com/features/) * [GitLab features list](https://about.gitlab.com/features/)
* [GitLab overview on LinkedIn Learning](https://www.linkedin.com/learning/git-for-teams/gitlab-overview) * [GitLab overview on LinkedIn Learning](https://www.linkedin.com/learning/git-for-teams/gitlab-overview)
* [Git for teams on LinkedIn Learning](https://www.linkedin.com/learning/git-for-teams) * [Git for teams on LinkedIn Learning](https://www.linkedin.com/learning/git-for-teams)
\ No newline at end of file
<!-- GD2md-html version 1.0β13 -->