Difference between revisions of "Gitlab Social Sciences"

From TSG Doc
Jump to navigation Jump to search
(Clarified features)
m (Shorter initial sentences)
 
(23 intermediate revisions by 2 users not shown)
Line 14: Line 14:
 
| installed version      =  
 
| installed version      =  
 
| installed version date = <!-- {{Start date and age|YYYY|MM|DD|df=yes}} -->
 
| installed version date = <!-- {{Start date and age|YYYY|MM|DD|df=yes}} -->
| status                = Active
 
| operating system      = any
 
 
| platform              = Microsoft Windows, MacOSX, Linux
 
| platform              = Microsoft Windows, MacOSX, Linux
| size                  =
 
| language              =
 
| genre                  =
 
 
| license                = [https://en.wikipedia.org/wiki/MIT_License MIT License]
 
| license                = [https://en.wikipedia.org/wiki/MIT_License MIT License]
 
| website                = [https://gitlab.socsci.ru.nl/ gitlab.socsci.ru.nl]
 
| website                = [https://gitlab.socsci.ru.nl/ gitlab.socsci.ru.nl]
| resources              =  
+
| resources              = <!-- Infobox -->
 
   {{Infobox tsg
 
   {{Infobox tsg
 
     | child              = yes
 
     | child              = yes
Line 37: Line 32:
 
}}
 
}}
  
The [https://gitlab.socsci.ru.nl Social Sciences GitLab server] offers [[wikipedia:Git|Git]] repository management, code reviews, issue tracking, activity feeds and wikis.
+
The [https://gitlab.socsci.ru.nl Social Sciences GitLab server] offers [[wikipedia:Git|Git]] repository management, code reviews, issue tracking, and wikis.
 +
With the [[Mattermost Social Sciences]] you can chat with your colleagues and interact with your projects.
  
 
<!-- Table of Contents will be generated here -->
 
<!-- Table of Contents will be generated here -->
  
==Features==
+
== Features ==
 
With GitLab you can easily manage your projects, synchronize your code between computers, or create wiki-pages for documentation.
 
With GitLab you can easily manage your projects, synchronize your code between computers, or create wiki-pages for documentation.
 
Whether you write code or a paper, you can review, deploy, or document your project together with others.
 
Whether you write code or a paper, you can review, deploy, or document your project together with others.
You can create at least 50 projects, and you can make them private, or share them with your lab members, or even the entire Internet.
+
You can create at least 50 projects, make them private or share them with your lab members, or even the entire Internet.
 +
With [[Mattermost Social Sciences]] you can chat with your colleagues and even manage the project through chat commands.
  
 
Think of GitLab as a "Facebook" around your projects.
 
Think of GitLab as a "Facebook" around your projects.
Similar services include e.g. [https://github.com GitHub.com] or [https//:gitlab.com GitLab.com].
+
Similar services include e.g. [https://github.com GitHub.com] or [https://gitlab.com GitLab.com] (which also runs the GitLab software on their servers).
In contrast to these services, GitLab Social Sciences is self-hosted by the Radboud University, running on our own servers on campus.
+
In contrast to these services, GitLab Social Sciences is self-hosted on a server on the Radboud campus.
That means we determine our own terms of use; for example, here you can private projects for free - on GitHub, you would have to pay.
+
That means we determine our own terms of use; for example, you can get private projects for free - on GitHub, you would have to pay.
  
==Requirements==
+
Note that there's another self-hosted [https://gitlab.science.ru.nl GitLab service running at the Faculty of Science].
* A GitLab account:
+
Anyone who has a "science login" can also use this service; it's running the same software - just the login page looks different.
** Everyone from Radboud University can login (with their U-, S-, E- or F-number).
 
** External users can ask for an account and then login with their username (switch to the "Standard" tab in the Sign-In page).
 
* For most tasks, you should also install [https://git-scm.com/downloads Git] on your computer.
 
  
==External Users==
+
== Requirements ==
If you want to allow people without Radboud University account to access and contribute to your Gitlab project, you can request a standard user account by sending an email to
+
1. A GitLab account to log in at https://gitlab.socsci.ru.nl:
[mailto:j.keyser@donders.ru.nl Johannes Keyser (DCC)] or [mailto:e.lieffers@ru.nl Eric Lieffers (ISC)]. <br/>Be sure to include the following information:
+
* Everyone from Radboud University can login (with their U-, S-, E- or F-number). Members of UMC with Z-numbers have to request external accounts, see below.
{| class="wikitable"
+
* External users can ask for an account and then login with their username (switch to the "Standard" tab in the Sign-In page).
| Username
+
2. For more than the most basic tasks, you'll also need to install [https://git-scm.com/downloads Git] on your computer.
|-
 
| Email adres
 
|-
 
| Full Name
 
|-
 
|}
 
  
==Configuration==
+
== Login for external users ==
 +
External user accounts should be requested from a member of Radboud University.
 +
If you want to allow people without RU account to join your Mattermost team or GitLab project, please request an account by sending an email to
 +
[mailto:gitlab@socsci.ru.nl gitlab@socsci.ru.nl].
 +
Please provide the full name of the user, a requested username, and a valid email address, preferably from the university or organization the person is working at.
  
The following instructions are for the command line interface. If you are using a graphical user interface (e.g. a desktop client), please consult its documentation for further instructions.
+
''Note that with an external account, the user has to switch to the "Standard" tab on the Sign-In page.''
 +
From GitLab's point of view, all accounts have the same rights and restrictions.
 +
Once logged in, there are no further differences.
  
===Global Setup===
+
== Setup, Configuration and Usage of Git clients ==
 +
For more advanced tasks, you will need a Git installed on your computer.
 +
There is excellent documentation for this available throughout the Internet, for example https://git-scm.com/documentation or https://docs.gitlab.com/ce/gitlab-basics/README.html.
 +
It would make little sense to repeat these here.
 +
There are many graphical user interfaces available for every major operating system.
 +
In addition, many development software packages (including Matlab) are aware of Git repositories and you can set them up to work with GitLab.
 +
Note that for most daily tasks, only about 5 Git operations are necessary to know about.
  
<pre style="background-color:#000; color:#fff;">
+
== Frequently asked questions ==
$ git config --global user.name "your-username-here"
 
$ git config --global user.email "your-email-address-here"
 
</pre>
 
  
Your username will be visible when pushing a commit to the Gitlab server.  
+
=== Who has access to gitlab.socsci.ru.nl? ===
Your email address should be the same as your primary Radboud email address, or if you are an external user, the one provided in your user request.
+
Short answer: Anyone from Radboud University, and some people from other universities.
  
==Usage==
+
Longer answer: All employees and students of Radboud University have access (with their U-, S-, E- or F-number).
 +
Members from Radboud UMC with Z-numbers have to request external accounts, see above.
 +
If you log in the first time, a corresponding account will be created.
 +
In addition, you can request accounts for people from other universities, for example to collaborate with them on confidential projects.
 +
See External Users above.
  
The following instructions are for the command line interface. If you are using a graphical user interface (e.g. a desktop client), please consult its documentation for further instructions. When creating a new project in the [https://gitlab.socsci.ru.nl web interface], you will also be given these instructions.
+
=== Who can see my project(s) within GitLab? ===
 +
Short answer: You decide for each project (if you're the project owner).
  
===Creating a new repository===
+
Longer answer: GitLab distinguishes read-access within 3 layers, and you can choose for each project individually.
<pre style="background-color:#000; color:#fff;">
+
Each project can be either
$ mkdir newproject
+
* ''private'': only you and your hand-picked users (and groups) can read it,
$ cd newproject
+
* or ''internal'': anyone with a GitLab account can read it,
$ git init
+
* or ''public'': anyone on the Internet can read it.
$ touch README.md
+
For more information, see https://gitlab.socsci.ru.nl/help/public_access/public_access#visibility-of-projects.
$ git add README.md
 
$ git commit -m "initial commit"
 
$ git remote add origin git@gitlab.socsci.ru.nl:username/newproject.git
 
$ git push -u origin master
 
</pre>
 
Substitute 'newproject' with your project name and 'username' with your username.
 
  
===Push an existing Git repository===
+
=== What can/should be stored on GitLab? ===
 +
Short answer: Scripts, documentation, theses, figures etc. '''No research data please!''' For research data, use https://data.donders.ru.nl/.
 +
For some niche cases, GitLab's Large File Storage (LFS) might be useful, see below.
  
<pre style="background-color:#000; color:#fff;">
+
Longer answer: Git and GitLab are meant primarily for smaller amounts of data (think Megabytes, not Gigabytes).
$ cd existing-git-repo
+
Most features, like comparing versions, only really make sense with changing text-based files.
$ git remote add origin git@gitlab.socsci.ru.nl:username/newproject.git
+
Git keeps track of every change you make in its history, and thus content is never really deleted.
$ git push -u origin master
+
That means Git repositories only grow larger, and even if you "delete" files, you can go back and un-delete them.
</pre>
+
That's a main feature, you get an "unlimited undo" for all kinds of files (and across different editors and computers).
Substitute 'newproject' with your project name.
 
  
=== Troubleshoot ===
+
Keeping an unchangeable history makes it impractical for binary data - you can't really delete them, comparing versions of them makes little sense.
 +
And potentially you later want to make the project available to more people - but maybe without sharing all data.
 +
For these reasons, please use https://data.donders.ru.nl/ for your research data.
  
Some users will see the  following message when they want to make a remote connection with SSH. (existing repository)
+
In case you need certain large data files for your development, GitLab offers Large File Storage (LFS).
When you see the below message you will need to say yes.
+
Please only use this feature after careful consideration, for files that are integral to your project and for which no other data repository makes sense.
 +
Note that you need to install the LFS extension on your local machine to use this.
 +
For more documentation, please refer to https://docs.gitlab.com/ce/workflow/lfs/manage_large_binaries_with_git_lfs.html.
  
<pre style="background-color:#000; color:#fff;">
+
=== What happens to my GitLab projects when I leave? ===
$ Warning: the ECDSA host key for 'gitlab.socsci.ru.nl' differs from the key for the IP address 'x.x.x.x'
+
First, if you use Git on your computer, you will have the entire history also locally on your machine.
$ Offending key for IP in /home/user/.ssh/known_hosts:23 Matching host key in /home/user/.ssh/known_hosts:13
+
Without a valid RU account, also your GitLab access will become inactive.
$ Are you sure you want to continue connecting (yes/no)? yes
+
If you want to retain access, you are welcome to ask for an External User account.
</pre>
+
There are currently no plans to delete any content when an account becomes inactive.
  
Remote SSH connection should now be established.
+
=== Who decides the GitLab policies? ===
 +
Since the GitLab service is still quite new, not all policies have been fully been worked out yet.
 +
You are welcome to contribute to our Terms Of Use and shape the future of the service.
 +
We are certainly open to any suggestions, and want to make it as useful as possible for everyone.
 +
Just send an email to [mailto:gitlab@socsci.ru.nl gitlab@socsci.ru.nl].
  
For other technical issues you can contact [mailto:e.lieffers@ru.nl Eric Lieffers (Server Administrator)]
 
  
== Git Clients ==
+
== Troubleshooting ==
 +
For technical issues you can contact [mailto:gitlab@socsci.ru.nl gitlab@socsci.ru.nl].
  
You can find the git clients for various operating systems [https://git-scm.com/downloads here].
+
=== Known issues ===
Additionally, you may be able to find a Git plugin for your code editor of choice.
+
 
 +
* Login does not work with (some) versions of the Safari web browser. ''The only solution we know of is to use another browser, sorry for the inconvenience.''
  
 
<!-- ==References==
 
<!-- ==References==

Latest revision as of 16:06, 15 February 2019

Gitlab Social Sciences
Wm no bg.svg
PlatformMicrosoft Windows, MacOSX, Linux
LicenseMIT License
Websitegitlab.socsci.ru.nl
Downloads
Manuals

The Social Sciences GitLab server offers Git repository management, code reviews, issue tracking, and wikis. With the Mattermost Social Sciences you can chat with your colleagues and interact with your projects.


Features

With GitLab you can easily manage your projects, synchronize your code between computers, or create wiki-pages for documentation. Whether you write code or a paper, you can review, deploy, or document your project together with others. You can create at least 50 projects, make them private or share them with your lab members, or even the entire Internet. With Mattermost Social Sciences you can chat with your colleagues and even manage the project through chat commands.

Think of GitLab as a "Facebook" around your projects. Similar services include e.g. GitHub.com or GitLab.com (which also runs the GitLab software on their servers). In contrast to these services, GitLab Social Sciences is self-hosted on a server on the Radboud campus. That means we determine our own terms of use; for example, you can get private projects for free - on GitHub, you would have to pay.

Note that there's another self-hosted GitLab service running at the Faculty of Science. Anyone who has a "science login" can also use this service; it's running the same software - just the login page looks different.

Requirements

1. A GitLab account to log in at https://gitlab.socsci.ru.nl:

  • Everyone from Radboud University can login (with their U-, S-, E- or F-number). Members of UMC with Z-numbers have to request external accounts, see below.
  • External users can ask for an account and then login with their username (switch to the "Standard" tab in the Sign-In page).

2. For more than the most basic tasks, you'll also need to install Git on your computer.

Login for external users

External user accounts should be requested from a member of Radboud University. If you want to allow people without RU account to join your Mattermost team or GitLab project, please request an account by sending an email to gitlab@socsci.ru.nl. Please provide the full name of the user, a requested username, and a valid email address, preferably from the university or organization the person is working at.

Note that with an external account, the user has to switch to the "Standard" tab on the Sign-In page. From GitLab's point of view, all accounts have the same rights and restrictions. Once logged in, there are no further differences.

Setup, Configuration and Usage of Git clients

For more advanced tasks, you will need a Git installed on your computer. There is excellent documentation for this available throughout the Internet, for example https://git-scm.com/documentation or https://docs.gitlab.com/ce/gitlab-basics/README.html. It would make little sense to repeat these here. There are many graphical user interfaces available for every major operating system. In addition, many development software packages (including Matlab) are aware of Git repositories and you can set them up to work with GitLab. Note that for most daily tasks, only about 5 Git operations are necessary to know about.

Frequently asked questions

Who has access to gitlab.socsci.ru.nl?

Short answer: Anyone from Radboud University, and some people from other universities.

Longer answer: All employees and students of Radboud University have access (with their U-, S-, E- or F-number). Members from Radboud UMC with Z-numbers have to request external accounts, see above. If you log in the first time, a corresponding account will be created. In addition, you can request accounts for people from other universities, for example to collaborate with them on confidential projects. See External Users above.

Who can see my project(s) within GitLab?

Short answer: You decide for each project (if you're the project owner).

Longer answer: GitLab distinguishes read-access within 3 layers, and you can choose for each project individually. Each project can be either

  • private: only you and your hand-picked users (and groups) can read it,
  • or internal: anyone with a GitLab account can read it,
  • or public: anyone on the Internet can read it.

For more information, see https://gitlab.socsci.ru.nl/help/public_access/public_access#visibility-of-projects.

What can/should be stored on GitLab?

Short answer: Scripts, documentation, theses, figures etc. No research data please! For research data, use https://data.donders.ru.nl/. For some niche cases, GitLab's Large File Storage (LFS) might be useful, see below.

Longer answer: Git and GitLab are meant primarily for smaller amounts of data (think Megabytes, not Gigabytes). Most features, like comparing versions, only really make sense with changing text-based files. Git keeps track of every change you make in its history, and thus content is never really deleted. That means Git repositories only grow larger, and even if you "delete" files, you can go back and un-delete them. That's a main feature, you get an "unlimited undo" for all kinds of files (and across different editors and computers).

Keeping an unchangeable history makes it impractical for binary data - you can't really delete them, comparing versions of them makes little sense. And potentially you later want to make the project available to more people - but maybe without sharing all data. For these reasons, please use https://data.donders.ru.nl/ for your research data.

In case you need certain large data files for your development, GitLab offers Large File Storage (LFS). Please only use this feature after careful consideration, for files that are integral to your project and for which no other data repository makes sense. Note that you need to install the LFS extension on your local machine to use this. For more documentation, please refer to https://docs.gitlab.com/ce/workflow/lfs/manage_large_binaries_with_git_lfs.html.

What happens to my GitLab projects when I leave?

First, if you use Git on your computer, you will have the entire history also locally on your machine. Without a valid RU account, also your GitLab access will become inactive. If you want to retain access, you are welcome to ask for an External User account. There are currently no plans to delete any content when an account becomes inactive.

Who decides the GitLab policies?

Since the GitLab service is still quite new, not all policies have been fully been worked out yet. You are welcome to contribute to our Terms Of Use and shape the future of the service. We are certainly open to any suggestions, and want to make it as useful as possible for everyone. Just send an email to gitlab@socsci.ru.nl.


Troubleshooting

For technical issues you can contact gitlab@socsci.ru.nl.

Known issues

  • Login does not work with (some) versions of the Safari web browser. The only solution we know of is to use another browser, sorry for the inconvenience.


External Links