GitLab as a Collaborative Working Environment Introductory Course - - PowerPoint PPT Presentation

gitlab as a collaborative working environment
SMART_READER_LITE
LIVE PREVIEW

GitLab as a Collaborative Working Environment Introductory Course - - PowerPoint PPT Presentation

GitLab as a Collaborative Working Environment Introductory Course Mihai Lefter Department of Human Genetics Center for Human and Clinical Genetics Introduction What is a collaborative working environment A collaborative working environment


slide-1
SLIDE 1

GitLab as a Collaborative Working Environment Introductory Course Mihai Lefter Department of Human Genetics Center for Human and Clinical Genetics

slide-2
SLIDE 2

Introduction What is a collaborative working environment A collaborative working environment supports people, such as e-professionals, in their individual and cooperative work. — Wikipedia

1/141 GitLab as a Collaborative Working Environment

slide-3
SLIDE 3

Introduction Collaborative working environment elements

T a s k a n d w

  • r

k fl

  • w

m a n a g e m e n t E m a i l V e r s i

  • n

c

  • n

t r

  • l

s y s t e m V

  • i

c e c

  • n

f e r e n c e A p p l i c a t i

  • n

s h a r i n g I n s t a n t m e s s a g i n g

2/141 GitLab as a Collaborative Working Environment

slide-4
SLIDE 4

Introduction Collaborative working environment elements

E m a i l V e r s i

  • n

c

  • n

t r

  • l

s y s t e m V

  • i

c e c

  • n

f e r e n c e A p p l i c a t i

  • n

s h a r i n g I n s t a n t m e s s a g i n g T a s k a n d w

  • r

k fl

  • w

m a n a g e m e n t

GitLab

3/141 GitLab as a Collaborative Working Environment

slide-5
SLIDE 5

Version Control What is version control The management of changes to documents, computer programs, large web sites, and other collections of information. — Wikipedia A system that records changes to a file or set of files over time so that you can recall specific versions later. — https://git-scm.com/ General features:

  • Keep track of your files

in an orderly manner.

  • Enables collaboration.

4/141 GitLab as a Collaborative Working Environment

slide-6
SLIDE 6

Version Control Why should I use it? For a single user:

  • Revert files to a previous state.
  • Revert the entire project back to a previous state.
  • Review changes made over time.
  • Backup.

For multiple users:

  • A reliable way to share files between people/computers.
  • Allow multiple people working on the same project at the

same time.

  • Conflict resolution.
  • See who made which changes at which time.

5/141 GitLab as a Collaborative Working Environment

slide-7
SLIDE 7

Version Control Why should I not use version control?

  • I have my own system.

6/141 GitLab as a Collaborative Working Environment

slide-8
SLIDE 8

Version Control Why should I not use version control?

  • I have my own system.

my_project backup

  • ld

backup

  • ld

working working.thisone working

  • ld

second.version

  • ld

6/141 GitLab as a Collaborative Working Environment

slide-9
SLIDE 9

Version Control Why should I not use version control? A list of common excuses:

  • I have my own system.
  • It is too much work.
  • I am the only one working
  • n this project.
  • This code will not be

used by anyone else.

  • The bugs can be

tracked forever.

  • . . .

my_project backup

  • ld

backup

  • ld

working working.thisone working

  • ld

second.version

  • ld

7/141 GitLab as a Collaborative Working Environment

slide-10
SLIDE 10

Version Control Why should I not use version control? A list of common excuses:

  • I have my own system.
  • It is too much work.
  • I am the only one working
  • n this project.
  • This code will not be

used by anyone else.

  • The bugs can be

tracked forever.

  • . . .

Eventually leading to:

  • I’m too busy rewriting the code I accidentally deleted.

8/141 GitLab as a Collaborative Working Environment

slide-11
SLIDE 11

Version Control Overview (git based)

Local Repository Local Repository Local Repository Server

Central Repository (Version Database)

Server

Local Repository

Chris Barbara Thomas Jeny

9/141 GitLab as a Collaborative Working Environment

slide-12
SLIDE 12

Version Control Example: new project meeting

Chris Barbara Thomas Jeny

project-75-RNAseqHumanBrain

10/141 GitLab as a Collaborative Working Environment

slide-13
SLIDE 13

Version Control Example: new project creation

Name

project-75-RNAseqHumanBrain

Jeny

Starts working and creates the project.

11/141 GitLab as a Collaborative Working Environment

slide-14
SLIDE 14

Version Control Example: new file

#!/bin/bash toolsrctarget-ratio100 1 2 3 4

run_tool.sh

run_tool.sh

Name

project-75-RNAseqHumanBrain

V0

Jeny

Creates and adds a script to the project.

12/141 GitLab as a Collaborative Working Environment

slide-15
SLIDE 15

Version Control Example: first results

#!/bin/bash toolsrctarget-ratio100 1 2 3 4

run_tool.sh

run_tool.sh

Name

project-75-RNAseqHumanBrain

V0

Jeny

A first plot is obtained.

And here Both here 1 1 Something interesting

13/141 GitLab as a Collaborative Working Environment

slide-16
SLIDE 16

Version Control Example: create and push to central repository

Server

Central Repository for project-75-RNAseqHumanBrain

Server

Jeny

Initializes local as well as central repository and pushes to it.

V0 run_tool.sh

Name

project-75-RNAseqHumanBrain

Local Repository for project-75-RNAseqHumanBrain

14/141 GitLab as a Collaborative Working Environment

slide-17
SLIDE 17

Version Control Example: clone central repository

Server

Central Repository for project-75-RNAseqHumanBrain

Server Gets his own copy of the repository.

V0 run_tool.sh

Name

project-75-RNAseqHumanBrain

Local Repository for project-75-RNAseqHumanBrain Chris

15/141 GitLab as a Collaborative Working Environment

slide-18
SLIDE 18

Version Control Example: edit a file

#!/bin/bash toolsrctarget-ratio100-configsettings.json 1 2 3 4

run_tool.sh

run_tool.sh

Name

project-75-RNAseqHumanBrain

V0

Makes some changes to the script.

Chris

16/141 GitLab as a Collaborative Working Environment

slide-19
SLIDE 19

Version Control Example: save file to local repository

#!/bin/bash toolsrctarget-configsettings.json 1 2 3 4

run_tool.sh

run_tool.sh

Name

project-75-RNAseqHumanBrain

V1

Saves the new version of the file.

Chris

17/141 GitLab as a Collaborative Working Environment

slide-20
SLIDE 20

Version Control Example: add another file to the local repository

Creates and saves a new file.

Chris

run_tool.sh

Name

project-75-RNAseqHumanBrain

#!/bin/bash toolsrctarget-configsettings.json 1 2 3 4

run_tool.sh

settings.json 1 2 3 4

settings.json

{ "ratio":100 } V1 V0

18/141 GitLab as a Collaborative Working Environment

slide-21
SLIDE 21

Version Control Example: edit second file

Makes changes to the new file.

Chris

{ "ratio":100, "gentrap":{ "expression_measures":[ "fragments_per_gene", "cufflinks_strict" ], "strand_protocol":"dutp", "call_variants":false } } 1 2 3 4 5 6 7 8 9 10 11 12

settings.json

run_tool.sh

Name

project-75-RNAseqHumanBrain

#!/bin/bash toolsrctarget-configsettings.json 1 2 3 4

run_tool.sh

settings.json V1 V0

19/141 GitLab as a Collaborative Working Environment

slide-22
SLIDE 22

Version Control Example: save the second file to the local repository

Saves the new version of the second file.

Chris

{ "ratio":100, "gentrap":{ "expression_measures":[ "fragments_per_gene", "cufflinks_strict" ], "strand_protocol":"dutp", "call_variants":false } } 1 2 3 4 5 6 7 8 9 10 11 12

settings.json

run_tool.sh

Name

project-75-RNAseqHumanBrain

#!/bin/bash toolsrctarget-configsettings.json 1 2 3 4

run_tool.sh

settings.json V1 V1

20/141 GitLab as a Collaborative Working Environment

slide-23
SLIDE 23

Version Control Example: more results are obtained

Chris

{ "ratio":100, "gentrap":{ "expression_measures":[ "fragments_per_gene", "cufflinks_strict" ], "strand_protocol":"dutp", "call_variants":false } } 1 2 3 4 5 6 7 8 9 10 11 12

settings.json

run_tool.sh

Name

project-75-RNAseqHumanBrain

#!/bin/bash toolsrctarget-configsettings.json 1 2 3 4

run_tool.sh

settings.json V1 V1

A second plot is obtained.

And here Both here 1 1 Something interesting

21/141 GitLab as a Collaborative Working Environment

slide-24
SLIDE 24

Version Control Example: local repositories are not synchronized

Chris

V0 run_tool.sh

Name

project-75-RNAseqHumanBrain

Local Repository for project-75-RNAseqHumanBrain

run_tool.sh

Name

project-75-RNAseqHumanBrain

settings.json V1 V1

Local Repository for project-75-RNAseqHumanBrain Jeny

22/141 GitLab as a Collaborative Working Environment

slide-25
SLIDE 25

Version Control Example: what about the server?

Chris

V0 run_tool.sh

Name

project-75-RNAseqHumanBrain

Local Repository for project-75-RNAseqHumanBrain

run_tool.sh

Name

project-75-RNAseqHumanBrain

settings.json V1 V1

Local Repository for project-75-RNAseqHumanBrain Jeny

Server

Central Repository for project-75-RNAseqHumanBrain

Server

V0 run_tool.sh

Name

project-75-RNAseqHumanBrain

Local Repository for project-75-RNAseqHumanBrain

V0 run_tool.sh

Name

project-75-RNAseqHumanBrain

Name

run_tool.sh

project-75-RNAseqHumanBrain

V0

≠ ≠ =

23/141 GitLab as a Collaborative Working Environment

slide-26
SLIDE 26

Version Control Example: update central repository

Server

Central Repository for project-75-RNAseqHumanBrain

Server Pushes to central repository to synchronize.

Local Repository for project-75-RNAseqHumanBrain Chris

run_tool.sh

Name

project-75-RNAseqHumanBrain

settings.json V1 V1

24/141 GitLab as a Collaborative Working Environment

slide-27
SLIDE 27

Version Control Example: update local repository

Server

Central Repository for project-75-RNAseqHumanBrain

Server Pulls from central repository to synchronize her local one.

Jeny Local Repository for project-75-RNAseqHumanBrain

run_tool.sh

Name

project-75-RNAseqHumanBrain

settings.json V1 V1

25/141 GitLab as a Collaborative Working Environment

slide-28
SLIDE 28

Version Control Example: edit again the second file

Makes more changes to the configuration.

Jeny

{ "ratio":100, "gentrap":{ "expression_measures":[ "fragments_per_gene", "cufflinks_strict" ], "strand_protocol":"dutp", "call_variants":false, "aligner":"gsnap", "gsnap":{ "exe":"/usr/local/bin/gsnap", "npaths":1, "threads":8 } } } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

settings.json

run_tool.sh

Name

project-75-RNAseqHumanBrain

settings.json #!/bin/bash toolsrctarget-configsettings.json 1 2 3 4

run_tool.sh

V1 V1

26/141 GitLab as a Collaborative Working Environment

slide-29
SLIDE 29

Version Control Example: save again the second file to the repository

Saves the new version of the configuration file.

{ "ratio":100, "gentrap":{ "expression_measures":[ "fragments_per_gene", "cufflinks_strict" ], "call_variants":false, "aligner":"gsnap", "gsnap":{ "exe":"/usr/local/bin/gsnap", "npaths":1, "threads":8 } } } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

settings.json

run_tool.sh

Name

project-75-RNAseqHumanBrain

settings.json #!/bin/bash toolsrctarget-configsettings.json 1 2 3 4

run_tool.sh

V1 V2

Jeny

27/141 GitLab as a Collaborative Working Environment

slide-30
SLIDE 30

Version Control Example: more results

Jeny

{ "ratio":100, "gentrap":{ "expression_measures":[ "fragments_per_gene", "cufflinks_strict" ], "call_variants":false, "aligner":"gsnap", "gsnap":{ "exe":"/usr/local/bin/gsnap", "npaths":1, "threads":8 } } } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

settings.json

run_tool.sh

Name

project-75-RNAseqHumanBrain

settings.json #!/bin/bash toolsrctarget-configsettings.json 1 2 3 4

run_tool.sh

V1 V2

The plot is updated.

And here Both here 1 1 Something interesting

28/141 GitLab as a Collaborative Working Environment

slide-31
SLIDE 31

Version Control Example: update central repository again

Server

Central Repository for project-75-RNAseqHumanBrain

Server Pushes to central repository to synchronize.

Local Repository for project-75-RNAseqHumanBrain

run_tool.sh

Name

project-75-RNAseqHumanBrain

settings.json V1 V2

Jeny

29/141 GitLab as a Collaborative Working Environment

slide-32
SLIDE 32

Version Control Example: intermediate results project discussion

Chris Barbara Thomas Jeny

project-75-RNAseqHumanBrain

And here Both here 1 1 Something interesting

Look what I can show you before I leave for holidays. That's very nice, but something is missing. I'll solve it , don't worry.

30/141 GitLab as a Collaborative Working Environment

slide-33
SLIDE 33

Version Control Example: update local repository again

Server

Central Repository for project-75-RNAseqHumanBrain

Server Pulls from central repository to synchronize his local one.

Local Repository for project-75-RNAseqHumanBrain

run_tool.sh

Name

project-75-RNAseqHumanBrain

settings.json V1 V2

Chris

31/141 GitLab as a Collaborative Working Environment

slide-34
SLIDE 34

Version Control Example: check the differences with an older version

Chris

"fragments_per_gene", "cufflinks_strict" ], "strand_protocol":"dutp", "call_variants":false "call_variants":false, "aligner":"gsnap", "gsnap":{ "exe":"/usr/local/bin/gsnap", "npaths":1, "threads":8 } } }

settings.json

... 5 6 7 8 9 10 11 ... ... 5 6 7 8 9 10 11 12 13 14 15 16 ...

  • +

+ + + + + +

7additionsand2deletions

{ "ratio":100, "gentrap":{ "expression_measures":[ "fragments_per_gene", "cufflinks_strict" ], "strand_protocol":"dutp", "call_variants":false } } 1 2 3 4 5 6 7 8 9 10 11 12

settings.json

{ "ratio":100, "gentrap":{ "expression_measures":[ "fragments_per_gene", "cufflinks_strict" ], "call_variants":false, "aligner":"gsnap", "gsnap":{ "exe":"/usr/local/bin/gsnap", "npaths":1, "threads":8 } } } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

settings.json

vs

V1 V2

Finds deleted line.

32/141 GitLab as a Collaborative Working Environment

slide-35
SLIDE 35

Version Control Example: make changes

Repairs the configuration.

{ "ratio":100, "gentrap":{ "expression_measures":[ "fragments_per_gene", "cufflinks_strict" ], "strand_protocol":"dutp", "call_variants":false, "aligner":"gsnap", "gsnap":{ "exe":"/usr/local/bin/gsnap", "npaths":1, "threads":8 } } } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

settings.json

run_tool.sh

Name

project-75-RNAseqHumanBrain

settings.json #!/bin/bash toolsrctarget-configsettings.json 1 2 3 4

run_tool.sh

V1 V2

Chris

33/141 GitLab as a Collaborative Working Environment

slide-36
SLIDE 36

Version Control Example: first results draft

{ "ratio":100, "gentrap":{ "expression_measures":[ "fragments_per_gene", "cufflinks_strict" ], "strand_protocol":"dutp", "call_variants":false, "aligner":"gsnap", "gsnap":{ "exe":"/usr/local/bin/gsnap", "npaths":1, "threads":8 } } } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

settings.json

run_tool.sh

Name

project-75-RNAseqHumanBrain

settings.json #!/bin/bash toolsrctarget-configsettings.json 1 2 3 4

run_tool.sh

V1 V3

Chris

Real results.

And here Both here 1 Something interesting

34/141 GitLab as a Collaborative Working Environment

slide-37
SLIDE 37

Version Control Example: final central repository update

Server

Central Repository for project-75-RNAseqHumanBrain

Server Pushes to central repository to synchronize.

Local Repository for project-75-RNAseqHumanBrain

run_tool.sh

Name

project-75-RNAseqHumanBrain

settings.json V1 V3

Chris

35/141 GitLab as a Collaborative Working Environment

slide-38
SLIDE 38

Version Control Example: results discussion meeting

Chris Barbara Thomas Jeny

project-75-RNAseqHumanBrain

And here Both here 1 Something interesting

36/141 GitLab as a Collaborative Working Environment

slide-39
SLIDE 39

GitLab

37/141 GitLab as a Collaborative Working Environment

slide-40
SLIDE 40

GitLab What is GitLab? GitLab is an application to code, test, and deploy code together. It provides Git repository management with:

  • fine grained access controls;
  • code reviews;
  • issue tracking;
  • activity feeds;
  • wikis;
  • continuous integration.

— https://about.gitlab.com/about/

38/141 GitLab as a Collaborative Working Environment

slide-41
SLIDE 41

GitLab Overview: without GitLab

Local Repository Local Repository Local Repository Server

Central Repository (Version Database)

Server

Local Repository

Chris Barbara Thomas Jeny

39/141 GitLab as a Collaborative Working Environment

slide-42
SLIDE 42

GitLab Overview: with GitLab I

Local Repository Local Repository Local Repository Server

Central Repository (Version Database)

Server

Local Repository

Chris Barbara Thomas Jeny GitLab

GitLab acts like a wrapper for the server repository:

  • Is is a self-hosted system for

managing your projects;

  • It adds many features on top of Git.

40/141 GitLab as a Collaborative Working Environment

slide-43
SLIDE 43

GitLab Overview: with GitLab II

Local Repository Local Repository Server

Central Repository (Version Database)

Server

Local Repository

Chris Barbara Thomas Jeny GitLab

GitLab https://git.lumc.nl

Browser access.

Projects

project-49-Biopet project-54-DNAT esting project-75-RNAseqHumanBrain

41/141 GitLab as a Collaborative Working Environment

slide-44
SLIDE 44

GitLab Collaborative Environment

GitLab

Projects M e m b e r s Groups I s s u e s Milestones L a b e l s T

  • -Dos

W i k i

42/141 GitLab as a Collaborative Working Environment

slide-45
SLIDE 45

GitLab Collaborative Environment

GitLab

Projects M e m b e r s Groups I s s u e s Milestones L a b e l s T

  • -Dos

W i k i

Equivalent to separate versioned repositories.

42/141 GitLab as a Collaborative Working Environment

slide-46
SLIDE 46

GitLab Collaborative Environment

GitLab

Members G r

  • u

p s Issues M i l e s t

  • n

e s Labels T

  • D
  • s

Wiki P r

  • j

e c t s

Users who have access to the projects.

42/141 GitLab as a Collaborative Working Environment

slide-47
SLIDE 47

GitLab Collaborative Environment

GitLab

Groups I s s u e s Milestones L a b e l s T

  • -Dos

W i k i Projects M e m b e r s

Users that share access rights and namespaces. Collections of several projects.

42/141 GitLab as a Collaborative Working Environment

slide-48
SLIDE 48

GitLab Collaborative Environment

GitLab

Issues M i l e s t

  • n

e s Labels T

  • D
  • s

Wiki P r

  • j

e c t s Members G r

  • u

p s

A manner through which changes are requested.

42/141 GitLab as a Collaborative Working Environment

slide-49
SLIDE 49

GitLab Collaborative Environment

GitLab

Milestones L a b e l s T

  • -Dos

W i k i Projects M e m b e r s Groups I s s u e s

Allow issues organization and, optionally, setting a due date.

42/141 GitLab as a Collaborative Working Environment

slide-50
SLIDE 50

GitLab Collaborative Environment

GitLab

Labels T

  • D
  • s

Wiki P r

  • j

e c t s Members G r

  • u

p s Issues M i l e s t

  • n

e s

Provide an easy way to categorize issues based on descriptive titles.

42/141 GitLab as a Collaborative Working Environment

slide-51
SLIDE 51

GitLab Collaborative Environment

GitLab

T

  • -Dos

W i k i Projects M e m b e r s Groups I s s u e s Milestones L a b e l s

See where you should spend your time, where your team members need help, where you need to take some action,

  • r what you need to keep an eye on.

42/141 GitLab as a Collaborative Working Environment

slide-52
SLIDE 52

GitLab Collaborative Environment

GitLab

Wiki P r

  • j

e c t s Members G r

  • u

p s Issues M i l e s t

  • n

e s Labels T

  • D
  • s

Keep your project documentation using the built-in wiki system.

42/141 GitLab as a Collaborative Working Environment

slide-53
SLIDE 53

GitLab Projects

  • A GitLab project corresponds to a single Git repository.
  • Every project has a visibility level:
  • A way of controling who has read access to that project.
  • Every project belongs to a single namespace, either a:
  • User:
  • The project owner has direct control over the project.
  • Group:
  • The group’s user-level permissions will take effect.

43/141 GitLab as a Collaborative Working Environment

slide-54
SLIDE 54

GitLab Project visibility levels

  • Private projects:
  • The project owner must explicitly grant access to specific users.
  • Are not listed on the public access directory.
  • Internal projects:
  • Can be cloned by any logged in user.
  • Are listed on the public access directory for logged in users.
  • Logged in users have Guest permissions on the repository.
  • Public projects:
  • Can be cloned without any authentication.
  • Are listed on the public access directory.
  • Logged in users have Guest permissions on the repository.

44/141 GitLab as a Collaborative Working Environment

slide-55
SLIDE 55

GitLab Users and groups User actions:

  • Create / import / manage projects.
  • Create / manage groups.

User roles per project/group:

  • Guest.
  • Reporter.
  • Developer.
  • Master.
  • Owner.

45/141 GitLab as a Collaborative Working Environment

slide-56
SLIDE 56

GitLab Example

Chris Barbara Thomas Jeny

GitLab https://git.lumc.nl

Welcome to the LUMC GitLab server

GitLab offers git repository management, code reviews, issue tracking, activity feeds and wikis. This server is free to use for LUMC employees and collaborators.

LUMC GitLab Users

46/141 GitLab as a Collaborative Working Environment

slide-57
SLIDE 57

GitLab Example: group creation

Thomas

GitLab https://git.lumc.nl

Creates department group. New Group

https://git.lumc.nl/ CR Group path Description Department of Core Research. Visibility Level Private Internal Public Create group Cancel

47/141 GitLab as a Collaborative Working Environment

slide-58
SLIDE 58

GitLab Example: add users to group

Thomas

GitLab https://git.lumc.nl/groups/CR/group_members

Adds colleagues to the department group. Add new user to group

Jeny People Group Access Developer Add users to group Members of group have access to all group projects. Chris Access expiration date Select access expiration date Search for users by name, username, or email, or invite new ones using their email address.

48/141 GitLab as a Collaborative Working Environment

slide-59
SLIDE 59

GitLab Example: group access email confirmation

Jeny

Outlook Web App https://mail.lumc.nl/owa/

Receive confirmation emails. Access to the CR group was granted

You have been granted Developer access to the CR group.

  • Chris

Inbox Access to the CR ...

GitLab-LUMC [gitlab.noreply@git.lumc.nl]

T

  • : Jeny, Chris
Inbox

OutlookWebApp 49/141 GitLab as a Collaborative Working Environment

slide-60
SLIDE 60

GitLab Example: project creation

Thomas

Creates GitLab project for "project-75-RNAseqHumanBrain".

GitLab https://git.lumc.nl/projects/new

New project

https://git.lumc.nl/ CR Project path Visibility Level Private Internal Public Create project Cancel Project name project-75-RNAseqHumanBrain Import project from Repo by URL git Git repository URL http://some-non-gitlab.project.location/ Extremely innovative project. Project description Not selectable since it is created under a private group.

50/141 GitLab as a Collaborative Working Environment

slide-61
SLIDE 61

GitLab Quiz: permissions I Do Jeny and Chris have access to the “project-75- RNAsetqHumanBrain” project? What about Barbara?

51/141 GitLab as a Collaborative Working Environment

slide-62
SLIDE 62

GitLab Example: current roles

Chris Barbara Thomas Jeny Project project-75-RNAseqHumanBrain Owner Developer Developer Group CR

  • Owner

Developer Developer

  • Neither group nor project access for Barbara.

Inherited from the group

52/141 GitLab as a Collaborative Working Environment

slide-63
SLIDE 63

GitLab Example: add users to project

Thomas

GitLab https://git.lumc.nl/RC/project-75-RNAseqHumanBrain/project_members

Adds Barbara to the project. Add new user to project

Barbara People Project Access Developer Add users to project Members of group have access to all group projects. Access expiration date Select access expiration date Search for users by name, username, or email, or invite new ones using their email address.

53/141 GitLab as a Collaborative Working Environment

slide-64
SLIDE 64

GitLab Quiz: permissions II Does Barbara have access to other group projects now?

54/141 GitLab as a Collaborative Working Environment

slide-65
SLIDE 65

GitLab Example: roles updated

Chris Barbara Thomas Jeny Project project-75-RNAseqHumanBrain Owner Developer Developer Group CR

  • Owner

Developer Developer Developer

Receives also an email with this information.

55/141 GitLab as a Collaborative Working Environment

slide-66
SLIDE 66

GitLab Users and groups extras

  • You can import another project’s users into your own project.
  • You can request access to a project/group (if enabled).
  • You can share your project with other groups.
  • You can manage group/project members roles at any time.

56/141 GitLab as a Collaborative Working Environment

slide-67
SLIDE 67

GitLab Example: view project files on GitLab

Thomas

Browses the project files.

GitLab

Repository

Files Commits Network ... https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/tree/master master project-75-RNAseqHumanBrain/

+

Find File run_tool.sh

Name

settings.json v1 V3

LastCommit>c12a4211-1dayago History Lastupdate

1dayago 1dayago

57/141 GitLab as a Collaborative Working Environment

slide-68
SLIDE 68

GitLab Example: view project files on GitLab

Thomas

Clicks on a file.

GitLab

Repository

Files Commits Network ... https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/tree/master master project-75-RNAseqHumanBrain/

+

Find File run_tool.sh

Name

settings.json v1 V3

LastCommit>c12a4211-1dayago History Lastupdate

1dayago 1dayago

57/141 GitLab as a Collaborative Working Environment

slide-69
SLIDE 69

GitLab Example: view project files on GitLab

GitLab

Repository

Files Commits Network ... https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/blob/master/settings.json master project-75-RNAseqHumanBrain/ settings.json

V3 Chrisauthoredabout1dayago

settings.json 314Bytes { "ratio":100, "gentrap":{ "expression_measures":[ "fragments_per_gene", "cufflinks_strict" ], "strand_protocol":"dutp", "call_variants":false, "aligner":"gsnap", "gsnap":{ "exe":"/usr/local/bin/gsnap", "npaths":1, "threads":8 } } } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Delete Replace Edit Permalink History Blame Raw c12a4211

Thomas

Is able to see the file contents.

57/141 GitLab as a Collaborative Working Environment

slide-70
SLIDE 70

GitLab Example: see file history

GitLab

Repository

Files Commits Network ... https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/blob/master/settings.json master project-75-RNAseqHumanBrain/ settings.json

V3 Chrisauthoredabout1dayago

settings.json 314Bytes { "ratio":100, "gentrap":{ "expression_measures":[ "fragments_per_gene", "cufflinks_strict" ], "strand_protocol":"dutp", "call_variants":false, "aligner":"gsnap", "gsnap":{ "exe":"/usr/local/bin/gsnap", "npaths":1, "threads":8 } } } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Delete Replace Edit Permalink History Blame Raw c12a4211

Thomas

Clicks the History button.

58/141 GitLab as a Collaborative Working Environment

slide-71
SLIDE 71

GitLab Example: see file history

GitLab

Repository

Files Commits Network ... https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/commits/master/settings.json master project-75-RNAseqHumanBrain/ settings.json

Thomas

Clicks the History button.

Filter by commit message

4commits

c12a4211

Chrisauthoredabout1dayago V3

a53d5341

Jenyauthoredabout5daysago V2

b82a1234

Chrisauthoredabout10daysago V1

c09c5517

Chrisauthoredabout11daysago V0

58/141 GitLab as a Collaborative Working Environment

slide-72
SLIDE 72

GitLab Example: see differences

GitLab

Repository

Files Commits Network ... https://git.lumc.nl/CR/project-75-RNAsetqHumanBrain/blob/master/settings.json master project-75-RNAseqHumanBrain/ settings.json

Thomas

Clicks on the commit message.

Filter by commit message

4commits

c12a4211

Chrisauthoredabout1dayago V3

a53d5341

Jenyauthoredabout5daysago V2

b82a1234

Chrisauthoredabout10daysago V1

c09c5517

Chrisauthoredabout11daysago V0

59/141 GitLab as a Collaborative Working Environment

slide-73
SLIDE 73

GitLab Example: see differences

GitLab

Repository

https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/commit/a53d5341164dfd9cf2515b059ad37356cce6b04d

Thomas

Is able to see the differences.

"fragments_per_gene", "cufflinks_strict" ], "strand_protocol":"dutp", "call_variants":false "call_variants":false, "aligner":"gsnap", "gsnap":{ "exe":"/usr/local/bin/gsnap", "npaths":1, "threads":8 } } }

settings.json

... 5 6 7 8 9 10 11 ... ... 5 6 7 8 9 10 11 12 13 14 15 16 ...

  • +

+ + + + + +

Showing1changedfilewith7additionsand2deletions AuthoredbyJenyabout5daysago

V1

59/141 GitLab as a Collaborative Working Environment

slide-74
SLIDE 74

GitLab Example: upload existing file

Thomas

Browses the project files.

GitLab

Repository

Files Commits Network ... https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/tree/master master project-75-RNAseqHumanBrain/

+

Find File run_tool.sh

Name

settings.json v1 V3

LastCommit>c12a4211-1dayago History Lastupdate

1dayago 1dayago

60/141 GitLab as a Collaborative Working Environment

slide-75
SLIDE 75

GitLab Example: upload existing file

Thomas

Starts the uploading file process.

GitLab

Repository

Files Commits Network ... https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/tree/master master project-75-RNAseqHumanBrain/

+

Find File run_tool.sh

Name

settings.json v1 V3

LastCommit>c12a4211-1dayago History Lastupdate

1dayago 1dayago

60/141 GitLab as a Collaborative Working Environment

slide-76
SLIDE 76

GitLab Example: upload existing file

Thomas

Starts the uploading file process.

GitLab

Repository

Files Commits Network ... https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/tree/master master project-75-RNAseqHumanBrain/

+

Find File run_tool.sh

Name

settings.json v1 V3

LastCommit>c12a4211-1dayago History Lastupdate

1dayago 1dayago Newfile Uploadfile Newdirectory Newbranch Newtag

60/141 GitLab as a Collaborative Working Environment

slide-77
SLIDE 77

GitLab Example: upload existing file

Thomas

Starts the uploading file process.

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/tree/master

Upload New File

Upload file Cancel Commit message Upload new file T arget branch master

Attach a file by drag & drop or click to upload

60/141 GitLab as a Collaborative Working Environment

slide-78
SLIDE 78

GitLab Example: upload existing file

Thomas

Drags the file.

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/tree/master

Upload New File

Upload file Cancel Commit message Upload new file T arget branch master

Attach a file by drag & drop or click to upload

awesome_ settings.json

60/141 GitLab as a Collaborative Working Environment

slide-79
SLIDE 79

GitLab Example: upload existing file

Thomas

Changes the commit message.

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/tree/master

Upload New File

Upload file Cancel Commit message Upload new file T arget branch master

Attach a file by drag & drop or click to upload

awesome_ settings.json

60/141 GitLab as a Collaborative Working Environment

slide-80
SLIDE 80

GitLab Example: upload existing file

Thomas

Changes the commit message.

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/tree/master

Upload New File

Upload file Cancel Commit message Upload best settings file ever T arget branch master

Attach a file by drag & drop or click to upload

awesome_ settings.json

60/141 GitLab as a Collaborative Working Environment

slide-81
SLIDE 81

GitLab Example: upload existing file

Thomas

Presses the Upload file button.

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/tree/master

Upload New File

Upload file Cancel Commit message Upload best settings file ever T arget branch master

Attach a file by drag & drop or click to upload

awesome_ settings.json

60/141 GitLab as a Collaborative Working Environment

slide-82
SLIDE 82

GitLab Example: upload existing file

Thomas

The new file appears in the repository.

GitLab

Repository

Files Commits Network ... https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/tree/master master project-75-RNAseqHumanBrain/

+

Find File run_tool.sh

Name

settings.json v1 V3

LastCommit>c34a5133-1minuteago History Lastupdate

1dayago 1dayago awesome_settings.json Uploadbestsettingsfileever 1minuteago

60/141 GitLab as a Collaborative Working Environment

slide-83
SLIDE 83

Practical 1 Groups, Projects, and File Handling

61/141 GitLab as a Collaborative Working Environment

slide-84
SLIDE 84

Issues Allow you signalize problems and to delegate their solving to people. You can make issues and:

  • Assign them to people.
  • Leave them general (unassigned).
  • Have discussions in them.
  • File them under milestones (detailed later).

62/141 GitLab as a Collaborative Working Environment

slide-85
SLIDE 85

Example: issue creation

Thomas

GitLab https://git.lumc.nl/CR/project-75-RNAsetqHumanBrain/issues/new

Creates a general issue and assigns it to Barbara. New Issue

Title Description Assignee Simulation is way to slow We should find a solution to reduce simulation time asap. Maybe Barbara can help with this?

Styling with Markdown and slash commands are supported

Submit issue Cancel Milestone Select milestone Due date Select due date Barbara

63/141 GitLab as a Collaborative Working Environment

slide-86
SLIDE 86

Example: issue assignation email notification

Outlook Web App https://mail.lumc.nl/owa/

Receives email with the new issue created and assigned to her. project-75-RNAseqHumanBrain | Simulation is way to slow (#1)

Inbox project-75-RNAse ...

Thomas [gitlab.noreply@git.lumc.nl]

T

  • : Barbara
Inbox

OutlookWebApp

Barbara

Access to the pro ... We should find a solution to reduce simulation time asap. Maybe Barbara can help with this? Assignee: Barbara — View it on GitLab.

You're receiving this email because of your account on git.lumc.nl. If you'd like to receive fewer emails, you can unsubscribe from this thread

  • r adjust your notification settings.

64/141 GitLab as a Collaborative Working Environment

slide-87
SLIDE 87

Example: the issue appears as a To do

GitLab https://git.lumc.nl/dashboard/todos

Logs in to GitLab. The issue appears also as a T

  • do notification.

T

  • do

Barbara

1 1 Thomas assigned you issue #1 · 10 minutes ago CR/project-75-RNAseqHumanBrain Done Simulation is way to slow

65/141 GitLab as a Collaborative Working Environment

slide-88
SLIDE 88

Example: issue reply

Uses the issues discussion option to reply.

Barbara

12

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/issues/1 1

Issue #1 opened about an hour ago by Thomas

Simulation is way to slow

Running it on shark would be an option. I will give it a try.

Styling with Markdown and slash commands are supported

Comment Comment & close issue Discard draft We should find a solution to reduce simulation time asap. Maybe Barbara can help with this?

66/141 GitLab as a Collaborative Working Environment

slide-89
SLIDE 89

Example: issue reply again

Replies back to Barbara.

Thomas

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/issues/1

Issue #1 opened about an hour ago by Thomas

Simulation is way to slow

Great idea. Good luck with that!

Styling with Markdown and slash commands are supported

Comment Comment & close issue Discard draft We should find a solution to reduce simulation time asap. Maybe Barbara can help with this? Running it on shark would be an option. I will give it a try. Barbara commented 20 minutes ago. Email notification not shown.

67/141 GitLab as a Collaborative Working Environment

slide-90
SLIDE 90

Example: edit file directly on GitLab

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/edit/master/run_tool.sh

Barbara

#!/bin/bash #$-S/bin/bash #$-qall.q #$-NCR_tool #$-peBWA16 #$-lh_vmem=16g #$-cwd #$-jY #$-V #$-mbe #$-Mbarbara@lumc.nl toolsrctarget-ratio100-configsettings.json 1 2 3 4 5 6 7 8 9 10 11 12 13 14

run_tool.sh

Edit File

Commit message Add shark run configuration. T arget branch master Commit Changes Cancel

Edits the file using the GitLab interface.

68/141 GitLab as a Collaborative Working Environment

slide-91
SLIDE 91

Example: close issue

Replies with solution and closes the issue.

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/edit/master/run_tool.sh

Simulation is way to slow

Please make use of the new script. Utilize qsub to run it on the shark server. `qsub run_tool.sh` You can find more information [here](https://git.lumc.nl/shark/SHARK).

Styling with Markdown and slash commands are supported

Comment Comment & close issue Discard draft We should find a solution to reduce simulation time asap. Maybe Barbara can help with this? Running it on shark would be an option. I will give it a try. Barbara commented 2 hours ago. Email notification not shown. Great idea. Good luck with that! Thomas commented about 1 hour ago.

Barbara Issue #1 opened about 2 hours ago by Thomas

Open

69/141 GitLab as a Collaborative Working Environment

slide-92
SLIDE 92

Issues extras

  • You can reassign an issue.
  • You can reopen an issue.
  • You can still make comments in closed issues.
  • You can upvote/downvote issues or add emojis.
  • You can categorize issues with labels (detailed later).

70/141 GitLab as a Collaborative Working Environment

slide-93
SLIDE 93

Todos A chronological list of things that are waiting for your input. Todos allow you to see where:

  • You should spend your time.
  • Your team members need help.
  • You need to take some action.
  • You need to keep an eye on.

Note that Todos are personal.

71/141 GitLab as a Collaborative Working Environment

slide-94
SLIDE 94

Todos triggering A Todo is triggered when:

  • An issue is assigned to you.
  • You are @mentioned in an issue.
  • Be it the description or in a comment.

You can also manually add an issue to your Todos list. Note that there is just one Todo per issue.

72/141 GitLab as a Collaborative Working Environment

slide-95
SLIDE 95

Todos dismissal Any of the following action to the corresponding issue will mark your Todo as Done:

  • Changing the assignee.
  • Changing the milestone.
  • Adding/removing a label.
  • Commenting on the issue.

You can also manually mark the Todo as done. Todos are only marked as Done if the action is coming from you.

73/141 GitLab as a Collaborative Working Environment

slide-96
SLIDE 96

Labels

  • Categorize and filter issues based on descriptions.
  • They can have different colors.
  • Predefined labels are available.
  • You can prioritize labels.
  • You can subscribe to be notified when

a label gets added to an issue.

74/141 GitLab as a Collaborative Working Environment

slide-97
SLIDE 97

Example: create a label

Creates a new label to be assigned to simulation related issues.

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/labels/new

Barbara

New Label

Title simulation Create Label Cancel Description Anything which is related to simulations. Background color click here for any color picker

Choose any color. Or you can choose one of the suggested colors below

75/141 GitLab as a Collaborative Working Environment

slide-98
SLIDE 98

Example: assign label to issue

Assigns the "simulation" label to the closed "Simulation is way to slow" issue.

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/issues/1

Barbara Issue #1 opened about 6 hours ago by Thomas

Simulation is way to slow

Please make use of the new script. Utilize qsub to run it on the shark server. qsub run_tool.sh You can find more information here. We should find a solution to reduce simulation time asap. Maybe Barbara can help with this? Running it on shark would be an option. I will give it a try. Barbara commented 5 hours ago. Great idea. Good luck with that! Thomas commented about 4 hours ago. Barbara commented 20 minutes ago. Barbara 20 minutes ago. Status changed to closed. Labels Edit Assignee Edit simulation Search labels Assign labels simulation Create new label Manage labels T

  • do

Barbara Add T

  • do

Closed

76/141 GitLab as a Collaborative Working Environment

slide-99
SLIDE 99

Milestones

  • Allow you to organize issues into a cohesive group and,
  • ptionally, to set a due date.
  • Milestones are usually created per-project.
  • You can create a milestone for several projects in the same

group simultaneously.

  • On the group’s milestones page, you will be able to see the

status of that milestone across all of the selected projects.

77/141 GitLab as a Collaborative Working Environment

slide-100
SLIDE 100

Example: create milestone

Thomas

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/milestones/new

Creates a new milestone to push things a bit :). New Milestone

Title Description Complete simulation framework We should focus a bit on finishing the required simulations scripts and other related issues.

Styling with Markdown and slash commands are supported

Create milestone Cancel Due date 2017-12-24

78/141 GitLab as a Collaborative Working Environment

slide-101
SLIDE 101

Example: create issue under milestone

Thomas

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/issues/new

Creates an issue for the new milestone utilizing the "simulation" label. New Issue

Title Description Assignee Configurable simulation settings Make such that it is possible to run the simulation script with different configuration files.

Styling with Markdown and slash commands are supported

Submit issue Cancel Milestone Complete simulation framework Due date Select due date Barbara Labels simulation

79/141 GitLab as a Collaborative Working Environment

slide-102
SLIDE 102

Example: milestone summary

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/milestones/1

Milestone #1 · expires on Dec 24, 2017

Complete simulation framework

We should focus a bit on finishing the required simulations scripts and other related issues. Open

Progress

1 issue: 1 open 0% complete 300 days remaining Unstarted Issues (open and unassigned) Ongoing Issues (open and assigned) 1 Completed Issues (closed)

Issues

1

Merge requests Participants

2

Labels 1

Configurable simulation settings simulation #2 Delete Edit Close Milestone

80/141 GitLab as a Collaborative Working Environment

slide-103
SLIDE 103

Example: skip some steps

FAST

FORWARD

81/141 GitLab as a Collaborative Working Environment

slide-104
SLIDE 104

Example: milestone summary after fast forward

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/milestones/1

Milestone #1 · expires on Dec 24, 2017

Complete simulation framework

We should focus a bit on finishing the required simulations scripts and other related issues. Open

Progress

10 issue: 7 open and 3 closed 30% complete 250 days remaining Unstarted Issues (open and unassigned) 3 Ongoing Issues (open and assigned) 4 Completed Issues (closed) 3

Issues 10 Merge requests Participants

4

Labels 3

Python plots python #3 Delete Edit Close Milestone Browse Issues New Issue Simulation is way to slow simulation #1 Configurable simulation settings simulation #2 Change alpha in the bar plots #7 Update theta variable python #4 simulation Change the colors of the main plot #9 Update beta variable python #5 simulation Inputs for gene 10 #10 plots plots simulation simulation Inputs for gene 5 #8 simulation Add simulation configuration for gene 5 #6 simulation

82/141 GitLab as a Collaborative Working Environment

slide-105
SLIDE 105

Example: issue closing alternative

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/milestones/1

Milestone #1 · expires on Dec 24, 2017

Complete simulation framework

We should focus a bit on finishing the required simulations scripts and other related issues. Open

Progress

10 issue: 7 open and 3 closed 30% complete 250 days remaining Unstarted Issues (open and unassigned) 3 Ongoing Issues (open and assigned) 4 Completed Issues (closed) 3

Issues 10 Merge requests Participants

4

Labels 3

Python plots python #3 Delete Edit Close Milestone Browse Issues New Issue Simulation is way to slow simulation #1 Configurable simulation settings simulation #2 Change alpha in the bar plots #7 Update theta variable python #4 simulation Change the colors of the main plot #9 Update beta variable python #5 simulation Inputs for gene 10 #10 plots plots simulation simulation Inputs for gene 5 #8 simulation Add simulation configuration for gene 5 #6 simulation

83/141 GitLab as a Collaborative Working Environment

slide-106
SLIDE 106

Example: issue closing alternative

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/milestones/1

Milestone #1 · expires on Dec 24, 2017

Complete simulation framework

We should focus a bit on finishing the required simulations scripts and other related issues. Open

Progress

10 issue: 7 open and 3 closed 30% complete 250 days remaining Unstarted Issues (open and unassigned) 3 Ongoing Issues (open and assigned) 4 Completed Issues (closed) 3

Issues 10 Merge requests Participants

4

Labels 3

Delete Edit Close Milestone Browse Issues New Issue Simulation is way to slow simulation #1 Configurable simulation settings simulation #2 Change alpha in the bar plots #7 Update theta variable python #4 simulation Change the colors of the main plot #9 Update beta variable python #5 simulation Inputs for gene 10 #10 plots plots simulation simulation Inputs for gene 5 #8 simulation Add simulation configuration for gene 5 #6 simulation Python plots python #3

83/141 GitLab as a Collaborative Working Environment

slide-107
SLIDE 107

Example: issue closing alternative

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/milestones/1

Milestone #1 · expires on Dec 24, 2017

Complete simulation framework

We should focus a bit on finishing the required simulations scripts and other related issues. Open

Progress

10 issue: 7 open and 3 closed 30% complete 250 days remaining Unstarted Issues (open and unassigned) 3 Ongoing Issues (open and assigned) 4 Completed Issues (closed) 3

Issues 10 Merge requests Participants

4

Labels 3

Delete Edit Close Milestone Browse Issues New Issue Simulation is way to slow simulation #1 Configurable simulation settings simulation #2 Change alpha in the bar plots #7 Update theta variable python #4 simulation Change the colors of the main plot #9 Update beta variable python #5 simulation Inputs for gene 10 #10 plots plots simulation simulation Inputs for gene 5 #8 simulation Add simulation configuration for gene 5 #6 simulation Python plots python #3

83/141 GitLab as a Collaborative Working Environment

slide-108
SLIDE 108

Example: issue closing alternative

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/milestones/1

Milestone #1 · expires on Dec 24, 2017

Complete simulation framework

We should focus a bit on finishing the required simulations scripts and other related issues. Open

Progress

10 issue: 7 open and 3 closed 30% complete 250 days remaining Unstarted Issues (open and unassigned) 3 Ongoing Issues (open and assigned) 4 Completed Issues (closed) 3

Issues 10 Merge requests Participants

4

Labels 3

Delete Edit Close Milestone Browse Issues New Issue Simulation is way to slow simulation #1 Configurable simulation settings simulation #2 Change alpha in the bar plots #7 Update theta variable python #4 simulation Change the colors of the main plot #9 Update beta variable python #5 simulation Inputs for gene 10 #10 plots plots simulation simulation Inputs for gene 5 #8 simulation Add simulation configuration for gene 5 #6 simulation Python plots python #3

83/141 GitLab as a Collaborative Working Environment

slide-109
SLIDE 109

Example: issue closing alternative

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/milestones/1

Milestone #1 · expires on Dec 24, 2017

Complete simulation framework

We should focus a bit on finishing the required simulations scripts and other related issues. Open

Progress

10 issue: 6 open and 4 closed 40% complete 250 days remaining Unstarted Issues (open and unassigned) 3 Ongoing Issues (open and assigned) 3 Completed Issues (closed) 4

Issues 10 Merge requests Participants

4

Labels 3

Delete Edit Close Milestone Browse Issues New Issue Simulation is way to slow simulation #1 Configurable simulation settings simulation #2 Change alpha in the bar plots #7 Update theta variable python #4 simulation Change the colors of the main plot #9 Update beta variable python #5 simulation Inputs for gene 10 #10 plots plots simulation simulation Inputs for gene 5 #8 simulation Add simulation configuration for gene 5 #6 simulation Python plots python #3

83/141 GitLab as a Collaborative Working Environment

slide-110
SLIDE 110

Example: issue assignation alternative

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/milestones/1

Milestone #1 · expires on Dec 24, 2017

Complete simulation framework

We should focus a bit on finishing the required simulations scripts and other related issues. Open

Progress

10 issue: 6 open and 4 closed 40% complete 250 days remaining Unstarted Issues (open and unassigned) 3 Ongoing Issues (open and assigned) 3 Completed Issues (closed) 4

Issues 10 Merge requests Participants

4

Labels 3

Delete Edit Close Milestone Browse Issues New Issue Simulation is way to slow simulation #1 Configurable simulation settings simulation #2 Change alpha in the bar plots #7 Update theta variable python #4 simulation Change the colors of the main plot #9 Update beta variable python #5 simulation Inputs for gene 10 #10 plots plots simulation simulation Inputs for gene 5 #8 simulation Add simulation configuration for gene 5 #6 simulation Python plots python #3

Thomas

Assigns issue to himself.

84/141 GitLab as a Collaborative Working Environment

slide-111
SLIDE 111

Example: issue assignation alternative

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/milestones/1

Milestone #1 · expires on Dec 24, 2017

Complete simulation framework

We should focus a bit on finishing the required simulations scripts and other related issues. Open

Progress

10 issue: 6 open and 4 closed 40% complete 250 days remaining Unstarted Issues (open and unassigned) 3 Ongoing Issues (open and assigned) 3 Completed Issues (closed) 4

Issues 10 Merge requests Participants

4

Labels 3

Delete Edit Close Milestone Browse Issues New Issue Simulation is way to slow simulation #1 Configurable simulation settings simulation #2 Change alpha in the bar plots #7 Update theta variable python #4 simulation Change the colors of the main plot #9 Update beta variable python #5 simulation plots plots simulation Inputs for gene 5 #8 simulation Add simulation configuration for gene 5 #6 simulation Python plots python #3

Thomas

Assigns issue to himself.

Inputs for gene 10 #10 simulation

84/141 GitLab as a Collaborative Working Environment

slide-112
SLIDE 112

Example: issue assignation alternative

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/milestones/1

Milestone #1 · expires on Dec 24, 2017

Complete simulation framework

We should focus a bit on finishing the required simulations scripts and other related issues. Open

Progress

10 issue: 6 open and 4 closed 40% complete 250 days remaining Unstarted Issues (open and unassigned) 3 Ongoing Issues (open and assigned) 3 Completed Issues (closed) 4

Issues 10 Merge requests Participants

4

Labels 3

Delete Edit Close Milestone Browse Issues New Issue Simulation is way to slow simulation #1 Configurable simulation settings simulation #2 Change alpha in the bar plots #7 Update theta variable python #4 simulation Change the colors of the main plot #9 Update beta variable python #5 simulation plots plots simulation Inputs for gene 5 #8 simulation Add simulation configuration for gene 5 #6 simulation Python plots python #3

Thomas

Assigns issue to himself.

Inputs for gene 10 #10 simulation

84/141 GitLab as a Collaborative Working Environment

slide-113
SLIDE 113

Example: issue assignation alternative

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/milestones/1

Milestone #1 · expires on Dec 24, 2017

Complete simulation framework

We should focus a bit on finishing the required simulations scripts and other related issues. Open

Progress

10 issue: 6 open and 4 closed 40% complete 250 days remaining Unstarted Issues (open and unassigned) 2 Ongoing Issues (open and assigned) 4 Completed Issues (closed) 4

Issues 10 Merge requests Participants

4

Labels 3

Delete Edit Close Milestone Browse Issues New Issue Simulation is way to slow simulation #1 Configurable simulation settings simulation #2 Change alpha in the bar plots #7 Update theta variable python #4 simulation Change the colors of the main plot #9 Update beta variable python #5 simulation plots plots simulation Inputs for gene 5 #8 simulation Add simulation configuration for gene 5 #6 simulation Python plots python #3

Thomas

Assigns issue to himself.

Inputs for gene 10 #10 simulation

84/141 GitLab as a Collaborative Working Environment

slide-114
SLIDE 114

Issue board

  • Organize issues using lists.
  • Labels are utilized for lists creation.
  • Lists types:
  • Custom: the ones you create based on your labels.
  • Default:
  • Done: shows all the closed issues.

Available only for projects at the moment. Future releases will make it available within groups.

85/141 GitLab as a Collaborative Working Environment

slide-115
SLIDE 115

Example: issue board lists creation

Creates a first label to be used as list on the issue board.

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/labels/new

New Label

Title Incipient Create Label Cancel Description Things that were just started. Background color click here for any color picker

Choose any color. Or you can choose one of the suggested colors below

Thomas

86/141 GitLab as a Collaborative Working Environment

slide-116
SLIDE 116

Example: issue board lists creation

Creates a second label to be used as list on the issue board.

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/labels/new

New Label

Title Advanced Create Label Cancel Description Things that are in a more advanced stage. Background color click here for any color picker

Choose any color. Or you can choose one of the suggested colors below

Thomas

86/141 GitLab as a Collaborative Working Environment

slide-117
SLIDE 117

Example: issue board lists creation

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/board

Issue Board

Author Assignee Milestone Label Add list Filter by name ... Reset filters Welcome to your issue board! Done Simulation is way to slow simulation #1 Configurable simulation settings simulation #2 Inputs for gene 5 #8 simulation Python plots python #3 Add the following default lists to your Issue Board with one click: T

  • do

Doing Starting out with the default set of lists will get you right on the way to making the most of your board. Add default lists Nevermind, I'll use my own Add issues 4

86/141 GitLab as a Collaborative Working Environment

slide-118
SLIDE 118

Example: issue board lists creation

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/board

Issue Board

Author Assignee Milestone Label Reset filters Welcome to your issue board! Done Simulation is way to slow simulation #1 Configurable simulation settings simulation #2 Inputs for gene 5 #8 simulation Python plots python #3 Add the following default lists to your Issue Board with one click: T

  • do

Doing Starting out with the default set of lists will get you right on the way to making the most of your board. Add default lists Nevermind, I'll use my own Add list Filter by name ... Add issues 4

86/141 GitLab as a Collaborative Working Environment

slide-119
SLIDE 119

Example: issue board lists creation

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/board

Issue Board

Author Assignee Milestone Label Reset filters Done Simulation is way to slow simulation #1 Configurable simulation settings simulation #2 Inputs for gene 5 #8 simulation Python plots python #3 Add list Filter by name ... Add issues 4

86/141 GitLab as a Collaborative Working Environment

slide-120
SLIDE 120

Example: issue board lists creation

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/board

Issue Board

Author Assignee Milestone Label Reset filters Done Simulation is way to slow simulation #1 Configurable simulation settings simulation #2 Inputs for gene 5 #8 simulation Python plots python #3 Search Add list Advanced Create new label Manage labels Incipient plots python simulation Create lists from the labels you use in your project. Issues with that label will automatically be added to the list. Add list Filter by name ... Add issues 4

86/141 GitLab as a Collaborative Working Environment

slide-121
SLIDE 121

Example: issue board lists creation

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/board

Issue Board

Author Assignee Milestone Label Reset filters Done Simulation is way to slow simulation #1 Configurable simulation settings simulation #2 Inputs for gene 5 #8 simulation Python plots python #3 Search Add list Advanced Create new label Manage labels Incipient plots python simulation Create lists from the labels you use in your project. Issues with that label will automatically be added to the list. Incipient Add list Filter by name ... Add issues 4

86/141 GitLab as a Collaborative Working Environment

slide-122
SLIDE 122

Example: issue board lists creation

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/board

Issue Board

Author Assignee Milestone Label Reset filters Incipient Advanced Done Simulation is way to slow simulation #1 Configurable simulation settings simulation #2 Inputs for gene 5 #8 simulation Python plots python #3 Add list Filter by name ... Add issues 4

86/141 GitLab as a Collaborative Working Environment

slide-123
SLIDE 123

Example: add issues to the custom lists

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/board

Issue Board

Author Assignee Milestone Label Reset filters Incipient Advanced Done Simulation is way to slow simulation #1 Configurable simulation settings simulation #2 Inputs for gene 5 #8 simulation Python plots python #3 4 Add list Filter by name ... Add issues

87/141 GitLab as a Collaborative Working Environment

slide-124
SLIDE 124

Example: add issues to the custom lists

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/board

Issue Board

Author Assignee Milestone Label Reset filters Incipient Advanced Done Simulation is way to slow simulation #1 Configurable simulation settings simulation #2 Inputs for gene 5 #8 simulation Python plots python #3 4 Add list Filter by name ... Add issues Add issues Cancel Change alpha in the bar plots #7 Change the colors of the main plot #9 plots plots simulation Update theta variable python #4 simulation Update beta variable python #5 simulation Add simulation configuration for ... #6 simulation Inputs for gene 10 #10 simulation

Add issues

Author Assignee Milestone Label

All issues Selected issues

Select all Search issues ... to list Incipient 6

87/141 GitLab as a Collaborative Working Environment

slide-125
SLIDE 125

Example: add issues to the custom lists

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/board

Issue Board

Author Assignee Milestone Label Reset filters Incipient Advanced Done Simulation is way to slow simulation #1 Configurable simulation settings simulation #2 Inputs for gene 5 #8 simulation Python plots python #3 4 Add list Filter by name ... Add issues Add 1 issue Cancel Change alpha in the bar plots #7 Change the colors of the main plot #9 plots plots simulation Update theta variable python #4 simulation Update beta variable python #5 simulation Add simulation configuration for ... #6 simulation Inputs for gene 10 #10 simulation

Add issues

Author Assignee Milestone Label

All issues Selected issues

Select all Search issues ... to list Incipient 6 1

87/141 GitLab as a Collaborative Working Environment

slide-126
SLIDE 126

Example: add issues to the custom lists

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/board

Issue Board

Author Assignee Milestone Label Reset filters Incipient Advanced Done Simulation is way to slow simulation #1 Configurable simulation settings simulation #2 Inputs for gene 5 #8 simulation Python plots python #3 Inputs for gene 10 #10 simulation 1 4 Add list Filter by name ... Add issues

87/141 GitLab as a Collaborative Working Environment

slide-127
SLIDE 127

Example: issue board list reallocation

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/board

Issue Board

Author Assignee Milestone Label Reset filters Incipient Advanced Done Simulation is way to slow simulation #1 Configurable simulation settings simulation #2 Inputs for gene 5 #8 simulation Python plots python #3 Inputs for gene 10 #10 simulation 1 4 Add list Filter by name ... Add issues

88/141 GitLab as a Collaborative Working Environment

slide-128
SLIDE 128

Example: issue board list reallocation

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/board

Issue Board

Author Assignee Milestone Label Reset filters Incipient Advanced Done Simulation is way to slow simulation #1 Configurable simulation settings simulation #2 Inputs for gene 5 #8 simulation Python plots python #3 Inputs for gene 10 #10 simulation 4 Add list Filter by name ... Add issues

88/141 GitLab as a Collaborative Working Environment

slide-129
SLIDE 129

Example: issue board list reallocation

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/board

Issue Board

Author Assignee Milestone Label Reset filters Incipient Advanced Done Simulation is way to slow simulation #1 Configurable simulation settings simulation #2 Inputs for gene 5 #8 simulation Python plots python #3 4 Add list Filter by name ... Add issues Inputs for gene 10 #10 simulation

88/141 GitLab as a Collaborative Working Environment

slide-130
SLIDE 130

Example: issue board list reallocation

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/board

Issue Board

Author Assignee Milestone Label Reset filters Incipient Advanced Done Simulation is way to slow simulation #1 Configurable simulation settings simulation #2 Inputs for gene 5 #8 simulation Python plots python #3 4 Add list Filter by name ... Add issues Inputs for gene 10 #10 simulation

88/141 GitLab as a Collaborative Working Environment

slide-131
SLIDE 131

Example: skip some steps

FAST

FORWARD

89/141 GitLab as a Collaborative Working Environment

slide-132
SLIDE 132

Example: issue board after fast forward

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/board

Issue Board

Author Assignee Milestone Label Reset filters Incipient Advanced Done Simulation is way to slow simulation #1 Configurable simulation settings simulation #2 Inputs for gene 5 #8 simulation Python plots python #3 Update theta variable python #4 simulation Update beta variable python #5 simulation Add simulation configuration for ... #6 simulation Inputs for gene 10 #10 simulation Change alpha in the bar plots #7 Change the colors of the main plot #9 plots plots simulation 2 2 6 Add list Filter by name ... Add issues

90/141 GitLab as a Collaborative Working Environment

slide-133
SLIDE 133

Example: remove issue from board

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/board

Issue Board

Author Assignee Milestone Label Reset filters Incipient Advanced Done Simulation is way to slow simulation #1 Configurable simulation settings simulation #2 Inputs for gene 5 #8 simulation Python plots python #3 Update theta variable python #4 simulation Update beta variable python #5 simulation Add simulation configuration for ... #6 simulation Inputs for gene 10 #10 simulation Change alpha in the bar plots #7 Change the colors of the main plot #9 plots plots simulation 2 2 6 Add list Filter by name ... Add issues

91/141 GitLab as a Collaborative Working Environment

slide-134
SLIDE 134

Example: remove issue from board

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/board

Issue Board

Author Assignee Milestone Label Reset filters Incipient Advanced Done Simulation is way to slow simulation #1 Configurable simulation settings simulation #2 Inputs for gene 5 #8 simulation Python plots python #3 Update theta variable python #4 simulation Update beta variable python #5 simulation Add simulation configuration for ... #6 simulation Inputs for gene 10 #10 simulation Change alpha in the bar plots #7 Change the colors of the main plot #9 plots plots simulation 2 2 6 Add list Filter by name ... Add issues Change the colors ... #9 Assignee Jeny Edit Milestone None Edit Due date No due date Edit Labels Edit plots simulation incipient Unsubscribe Notifications Remove from board

91/141 GitLab as a Collaborative Working Environment

slide-135
SLIDE 135

Example: remove issue from board

GitLab https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/board

Issue Board

Author Assignee Milestone Label Reset filters Incipient Advanced Done Simulation is way to slow simulation #1 Configurable simulation settings simulation #2 Inputs for gene 5 #8 simulation Python plots python #3 Update theta variable python #4 simulation Update beta variable python #5 simulation Add simulation configuration for ... #6 simulation Inputs for gene 10 #10 simulation Change alpha in the bar plots #7 plots 1 2 6 Add list Filter by name ... Add issues

91/141 GitLab as a Collaborative Working Environment

slide-136
SLIDE 136

Practical 2 Issues, labels, milestones, and the issue board.

92/141 GitLab as a Collaborative Working Environment

slide-137
SLIDE 137

Wiki Keep your project documentation using the built-in wiki system.

  • Available formats:
  • Markdown.
  • RDoc.
  • AsciiDoc.

93/141 GitLab as a Collaborative Working Environment

slide-138
SLIDE 138

Example: wiki main page creation

GitLab

Wiki

Create Page Format Content Markdown Welcome to the project wiki.

Styling with Markdown is supported

Create page Cancel Commit message First wiki page.

Jeny

Creates wiki main page.

https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/wikis/home Home · New Page More Pages Write Preview

94/141 GitLab as a Collaborative Working Environment

slide-139
SLIDE 139

Example: wiki page creation

GitLab

Wiki

Create Page

Jeny

https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/wikis/home Home · New Page More Pages Last edited by Jeny 1 minute ago Welcome to the project Wiki. Home Page History Edit

Starts creating the lab experiments page.

95/141 GitLab as a Collaborative Working Environment

slide-140
SLIDE 140

Example: wiki page creation

GitLab

Wiki

Create Page

Jeny

https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/wikis/home Home · New Page More Pages Last edited by Jeny 1 minute ago Welcome to the project Wiki. Home Page History Edit

New Wiki Page

Create Page lab-experiments Page slug

Inserts the name.

96/141 GitLab as a Collaborative Working Environment

slide-141
SLIDE 141

Example: wiki page creation

GitLab

Wiki

Create Page Format Content Markdown

Styling with Markdown is supported

Create page Cancel Commit message Initial experiment description.

Jeny

https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/wikis/lab-experiments Home · New Page Write Preview At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident. More Pages Home

Adds information to the lab experiments page.

97/141 GitLab as a Collaborative Working Environment

slide-142
SLIDE 142

Example: view another page

GitLab

Wiki

Create Page

Jeny

https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/wikis/home Home · New Page Last edited by Jeny 1 minute ago At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident. Page History Edit More Pages Home Lab experiments

Goes to the home wiki page.

98/141 GitLab as a Collaborative Working Environment

slide-143
SLIDE 143

Example: edit page

GitLab

Wiki

Create Page

Jeny

https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/wikis/home Home · New Page Last edited by Jeny 1 minute ago Welcome to the project Wiki. Page History Edit

Begins to edit the home page.

More Pages Home Lab experiments

99/141 GitLab as a Collaborative Working Environment

slide-144
SLIDE 144

Example: edit page

GitLab

Wiki

Create Page Format Content Markdown

Styling with Markdown is supported

Save changes Cancel Commit message Add link to the lab experiments page.

Jeny

https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/wikis/home/edit Home · New Page Write Preview Welcome to the project wiki. Check [here](lab-experiments) the lab log. More Pages Home Lab experiments Page History Delete

Adds link to the lab experiments page.

100/141 GitLab as a Collaborative Working Environment

slide-145
SLIDE 145

Example: edit page

GitLab

Wiki

Create Page

Jeny

https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/wikis/home Home · New Page Last edited by Jeny 1 minute ago Welcome to the project Wiki. Check here the lab log. Page History Edit More Pages Home Lab experiments

Checks the link.

101/141 GitLab as a Collaborative Working Environment

slide-146
SLIDE 146

Example: all pages listing

GitLab

Wiki

Create Page

Jeny

https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/wikis/home Home · New Page Last edited by Jeny 1 minute ago At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident. Page History Edit More Pages Home Lab experiments

Checks all the pages.

102/141 GitLab as a Collaborative Working Environment

slide-147
SLIDE 147

Example: all pages listing

GitLab

Wiki Jeny

https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/wikis/pages Wiki Pages home (markdown) last edited 15 minutes ago lab experiments (markdown) last edited 12 minutes ago

Checks all the pages.

103/141 GitLab as a Collaborative Working Environment

slide-148
SLIDE 148

Markdown

104/141 GitLab as a Collaborative Working Environment

slide-149
SLIDE 149

Markdown What is markdown?

  • A plain text format that makes any document easy-to-write

and easy-to-read.

  • Various flavors exist:
  • GitLab Flavored Markdown (GFM).
  • All “.md” files are automatically rendered in GitLab.
  • Ideally, every directory in the project has a README.md file.

105/141 GitLab as a Collaborative Working Environment

slide-150
SLIDE 150

Markdown Used for

  • Comments.
  • Issues descriptions / comments.
  • Milestones descriptions.
  • Wiki pages.
  • Markdown documents inside the repository.

106/141 GitLab as a Collaborative Working Environment

slide-151
SLIDE 151

Markdown Headers

#H1 ##H2 ###H3 ####H4 #####H5 ######H6 Alternatively,forH1andH2only: Alt-H1 ====== Alt-H2

  • 1

2 3 4 5 6 7 8 9 10 11 12 13 14 15

Edit mode Rendered mode

H1

H2 H3

H4 H5

H6 Alternatively,forH1andH2only:

Alt-H1

Alt-H2 107/141 GitLab as a Collaborative Working Environment

slide-152
SLIDE 152

Markdown Emphasis

Emphasis,akaitalics,with*asterisks*or_underscores_. Strongemphasis,akabold,with**asterisks**

  • r__underscores__.

Combinedemphasiswith**asterisksand_underscores_**. Strikethroughusestwotildes.~~Scratchthis.~~ 1 2 3 4 5 6 7 8 9

Edit mode Rendered mode

Note that GFM ignores multiple underscores in words.

108/141 GitLab as a Collaborative Working Environment

slide-153
SLIDE 153

Markdown Lists

1.Firstorderedlistitem 2.Anotherordereditem *Unorderedsub-list. 3.Anotherordereditem 1.Orderedsub-list 4.Andanotheritem. *Unorderedlistcanuseasterisks

  • Orminuses

+Orpluses 1 2 3 4 5 6 7 8 9 10 11

Edit mode Rendered mode 1.Firstorderedlistitem 2.Anotheritem

  • Unorderedsub-list.

3.Anotherordereditem 1.Orderedsub-list 4.Andanotheritem.

  • Unordered list can use asterisks
  • Or minuses
  • Or pluses

109/141 GitLab as a Collaborative Working Environment

slide-154
SLIDE 154

Markdown Links

[I'maninline-stylelink](https://www.lumc.nl/) [I'maninline-stylelinkwithtitle](https://www.lumc.nl/"LUMCHomepage") [I'mareference-stylelink][Arbitrarycase-insensitivereferencetext] [I'marelativereferencetoarepositoryfile](../blob/master/LICENSE) [Youcanusenumbersforreference-stylelinkdefinitions][1] Orleaveitemptyandusethe[linktextitself]. URLsandURLsinanglebracketswillautomaticallygetturnedintolinks. https://www.lumc.nl/or<https://www.lumc.nl/> Sometexttoshowthatthereferencelinkscanfollowlater. [arbitrarycase-insensitivereferencetext]:https://www.albinusnet.nl/ [1]:https://www.albinusnet.nl/ [linktextitself]:https://www.lumc.nl/ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Edit mode Rendered mode I'maninline-stylelink I'maninline-stylelinkwithtitle I'mareference-stylelink I'marelativereferencetoarepositoryfile Youcanusenumbersforreference-stylelinkdefinitions Orleaveitemptyandusethelinktextitself. URLsandURLsinanglebracketswillautomaticallygetturned intolinks.https://www.lumc.nl/orhttps://www.lumc.nl/ Sometexttoshowthatthereferencelinkscanfollowlater.

You can use relative links in main repository as well as in the wiki, but not betwen each other.

110/141 GitLab as a Collaborative Working Environment

slide-155
SLIDE 155

Markdown Images

Here'sourlogo(hovertoseethetitletext): Inline-style: ![alttext](https://lumc.nl/logo.png"LogoTitleText1") Reference-style: ![alttext][logo] [logo]:https://lumc.nl/logo.png"LogoTitleText2" 1 2 3 4 5 6 7 8 9 10

Edit mode Rendered mode Here'sourlogo(hovertoseethetitletext): Inline-style: Reference-style:

111/141 GitLab as a Collaborative Working Environment

slide-156
SLIDE 156

Markdown Line breaks

Rosesarered[followedbylinebreak] Violetsareblue[followedbytwoormorelinebreaks]. Sugarissweet 1 2 3 4 5

Edit mode Rendered mode Rosesarered[followedbylinebreak]Violetsareblue[followed bytwoormorelinebreaks]. Sugarissweet

112/141 GitLab as a Collaborative Working Environment

slide-157
SLIDE 157

Markdown Blockquotes

Blockquotesareveryhandyinemailstoemulatereplytext. >Thislineispartofthesamequote. 1 2 3

Edit mode Rendered mode Blockquotesareveryhandyinemailtoemulatereplytext. Thislineispartofthesamequote.

113/141 GitLab as a Collaborative Working Environment

slide-158
SLIDE 158

Markdown Horizontal rule

Threeormore...

  • Hyphens

*** Asterisks ___ Underscores 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Edit mode Rendered mode Threeormore... Hyphens Asterisks Underscores

114/141 GitLab as a Collaborative Working Environment

slide-159
SLIDE 159

Markdown Tables

Tablesaren'tpartofthecoreMarkdownspec,butthey arepartofGFM. Therowofdashesbetweenthetableheaderandbodymust haveatleastthree dashesineachcolumn. Byincludingcolonsintheheaderrow,youcanalignthe text withinthatcolumn: │LeftAligned│Centered│RightAligned│ │:-----------│:------:│------------:│ │Cell1│Cell2│Cell3│ │Cell4│Cell5│Cell6│ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Edit mode Rendered mode Tables aren't part of the core Markdown spec, but they are partofGFM. Therowofdashesbetweenthetableheaderandbodymusthave atleastthree dashesineachcolumn. Byincludingcolonsintheheaderrow,youcanalignthetext withinthatcolumn: LeftAligned Cell1 Cell4 RightAligned Cell3 Cell6 Centered Cell2 Cell5

115/141 GitLab as a Collaborative Working Environment

slide-160
SLIDE 160

Markdown Footnotes

Youcanaddfootnotestoyourtextasfollows.[^2] Hereissomemoretext. Andhereevenmore. [^2]:Thisismyawesomefootnote. 1 2 3 4 5 6 7 8

Edit mode Rendered mode Youcanaddfootnotestoyourtextasfollows.1 Hereissomemoretext. Andhereevenmore. 1.Thisismyawesomefootnote.

116/141 GitLab as a Collaborative Working Environment

slide-161
SLIDE 161

Markdown Task lists

Youcanaddtaskliststoissues,mergerequestsand comments. Tocreateatasklist,addaspecially-formatted Markdownlist,likeso:

  • [x]Completedtask
  • []Incompletetask
  • []Sub-task1
  • [x]Sub-task2
  • []Sub-task3
  • Tasklistscanonlybecreatedindescriptions,notin

titles. Taskitemstatecanbemanagedbyeditingthe description'sMarkdownorbytogglingtherendered checkboxes. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 17

Edit mode Rendered mode Youcanaddtaskliststoissues,mergerequestsandcomments. To create a task list, add a specially-formatted Markdown list,likeso: Completedtask Incompletetask Sub-task1 Sub-task2 Sub-task3 Tasklistscanonlybecreatedindescriptions,notintitles. Task item state can be managed by editing the description's Markdownorbytogglingtherenderedcheckboxes.

117/141 GitLab as a Collaborative Working Environment

slide-162
SLIDE 162

Markdown Further information

  • https://docs.gitlab.com/ce/user/markdown.html
  • www.markdowntutorial.com

118/141 GitLab as a Collaborative Working Environment

slide-163
SLIDE 163

Extras

119/141 GitLab as a Collaborative Working Environment

slide-164
SLIDE 164

Extras GitLab jupyter notebook extension View rendered IPython (Jupyter) notebooks in GitLab.

120/141 GitLab as a Collaborative Working Environment

slide-165
SLIDE 165

Extras Example: jupyter notebook

Jeny

Looks for Jupyter notebook file.

GitLab

Repository

Files Commits Network ... https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/tree/master master project-75-RNAseqHumanBrain/

+

Find File run_tool.sh

Name

settings.json Maketoolreconfigurable. Addsettingsfile. ... some_plots.ipynb ...

LastCommit>c57b6534-20minutesago

Initialjupyteranalysis.

History Lastupdate

2monthsago 2weeksago 20minutesago

121/141 GitLab as a Collaborative Working Environment

slide-166
SLIDE 166

Extras Example: jupyter notebook file text view

Jeny

Views the jupyter file in text mode.

GitLab

Repository

Files Commits Network ... https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/blob/master/some_plots.ipynb master project-75-RNAseqHumanBrain/ some_plots.ipynb

Initialjupyteranalysis. Jenyauthoredabout20minutesago

View some_plots.ipynb 200KB { "cells":[ { "cell_type":"markdown", "metadata":{}, "source":[ "#Gettingthingsready" ] }, { "cell_type":"markdown", ... 1 2 3 4 5 6 7 8 9 10 11 12 Delete Replace Edit Permalink History Blame Raw c57b6534

122/141 GitLab as a Collaborative Working Environment

slide-167
SLIDE 167

Extras Example: jupyter notebook rendered view

Jeny

Views the actual notebook.

GitLab https://git.lumc.nl/CR/project-75-RNAsetqHumanBrain/blob/master/some_plots.ipynb notebook2017... https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/ipython_notebook/master/some_plots.ipynb

Getting things ready

First, import the libraries that you are going to need.

In [1]:

%pylab inline

Nice plot

In [7]:

plot (x, y) ylabel('Both here') xlabel('And here') title('Something interesting') And here Both here 1 1 Something interesting

123/141 GitLab as a Collaborative Working Environment

slide-168
SLIDE 168

Extras GitLab Notifications

Global Notifications as set at the global GitLab level Watch Receive notifications for any activity On mention Receive notifications only for comments in which you are @mentioned Participate Receive notifications only for threads you have participated in Disabled T urn off any email Custom Receive notifications only for the events you choose

Notification levels GitLab levels Global Group Project GitLab notifies a user when important events occur. By default, all projects and groups will use the global notifications setting.

124/141 GitLab as a Collaborative Working Environment

slide-169
SLIDE 169

Extras GitLab Notifications Settings

GitLab

Profile Settings

Global notification settings s.important@lumc.nl https://git.lumc.nl/profile/notifications Emails Notifications ... ... SSH Keys Notification email Global notification level Participate Groups (2) Global CR Watch HG Projects (3) Global CR/project-75-RNAseqHumanBrain Disabled CR/project-76-project-142-NovoQC Custom HG/project-183-BroadHistoneChipEllen

125/141 GitLab as a Collaborative Working Environment

slide-170
SLIDE 170

Extras Project permissions

Action Guest Reporter Developer Master Owner Create new issue

  • Leave comments
  • View wiki pages
  • Pull project code
  • Download project
  • Manage labels
  • Write a wiki
  • Create new milestones
  • Add new team members
  • Edit project
  • Switch visibility level
  • Transfer project to another namespace
  • Remove project
  • Check the entire list here. On public and internal projects the Guest

role is not enforced. GitLab administrators receive all permissions.

126/141 GitLab as a Collaborative Working Environment

slide-171
SLIDE 171

Extras Group permissions

Action Guest Reporter Developer Master Owner Browse group

  • Edit group
  • Create project in group
  • Manage group members
  • Remove group
  • If a user is both in a group’s project and the project itself, the highest

permission level is used.

127/141 GitLab as a Collaborative Working Environment

slide-172
SLIDE 172

Extras Follow up course Code and data management with Git

  • More advanced topics on version control.

128/141 GitLab as a Collaborative Working Environment

slide-173
SLIDE 173

Extras Other Courses

  • Practical Linux

https://git.lumc.nl/courses/practical-linux-course

  • Introduction to the Shark Cluster

https://git.lumc.nl/shark/SHARK/wikis/home

  • Code and Data Management with Git

https://git.lumc.nl/courses/gitcourse

  • Scripting for Life Science Researchers

https://git.lumc.nl/courses/scriptingcourse

  • Python Programming

https://git.lumc.nl/courses/programming-course

129/141 GitLab as a Collaborative Working Environment

slide-174
SLIDE 174

Acknowledgements Jeroen Laros Jonathan Vis Guy Allard

https://git.lumc.nl/mlefter/gitlab-intro-course/

slide-175
SLIDE 175

Extras

131/141 GitLab as a Collaborative Working Environment

slide-176
SLIDE 176

Extras GitLab jupyter notebook extension View rendered IPython (Jupyter) notebooks in GitLab.

132/141 GitLab as a Collaborative Working Environment

slide-177
SLIDE 177

Extras Example: jupyter notebook

Jeny

Looks for Jupyter notebook file.

GitLab

Repository

Files Commits Network ... https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/tree/master master project-75-RNAseqHumanBrain/

+

Find File run_tool.sh

Name

settings.json Maketoolreconfigurable. Addsettingsfile. ... some_plots.ipynb ...

LastCommit>c57b6534-20minutesago

Initialjupyteranalysis.

History Lastupdate

2monthsago 2weeksago 20minutesago

133/141 GitLab as a Collaborative Working Environment

slide-178
SLIDE 178

Extras Example: jupyter notebook file text view

Jeny

Views the jupyter file in text mode.

GitLab

Repository

Files Commits Network ... https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/blob/master/some_plots.ipynb master project-75-RNAseqHumanBrain/ some_plots.ipynb

Initialjupyteranalysis. Jenyauthoredabout20minutesago

View some_plots.ipynb 200KB { "cells":[ { "cell_type":"markdown", "metadata":{}, "source":[ "#Gettingthingsready" ] }, { "cell_type":"markdown", ... 1 2 3 4 5 6 7 8 9 10 11 12 Delete Replace Edit Permalink History Blame Raw c57b6534

134/141 GitLab as a Collaborative Working Environment

slide-179
SLIDE 179

Extras Example: jupyter notebook rendered view

Jeny

Views the actual notebook.

GitLab https://git.lumc.nl/CR/project-75-RNAsetqHumanBrain/blob/master/some_plots.ipynb notebook2017... https://git.lumc.nl/CR/project-75-RNAseqHumanBrain/ipython_notebook/master/some_plots.ipynb

Getting things ready

First, import the libraries that you are going to need.

In [1]:

%pylab inline

Nice plot

In [7]:

plot (x, y) ylabel('Both here') xlabel('And here') title('Something interesting') And here Both here 1 1 Something interesting

135/141 GitLab as a Collaborative Working Environment

slide-180
SLIDE 180

Extras GitLab Notifications

Global Notifications as set at the global GitLab level Watch Receive notifications for any activity On mention Receive notifications only for comments in which you are @mentioned Participate Receive notifications only for threads you have participated in Disabled T urn off any email Custom Receive notifications only for the events you choose

Notification levels GitLab levels Global Group Project GitLab notifies a user when important events occur. By default, all projects and groups will use the global notifications setting.

136/141 GitLab as a Collaborative Working Environment

slide-181
SLIDE 181

Extras GitLab Notifications Settings

GitLab

Profile Settings

Global notification settings s.important@lumc.nl https://git.lumc.nl/profile/notifications Emails Notifications ... ... SSH Keys Notification email Global notification level Participate Groups (2) Global CR Watch HG Projects (3) Global CR/project-75-RNAseqHumanBrain Disabled CR/project-76-project-142-NovoQC Custom HG/project-183-BroadHistoneChipEllen

137/141 GitLab as a Collaborative Working Environment

slide-182
SLIDE 182

Extras Project permissions

Action Guest Reporter Developer Master Owner Create new issue

  • Leave comments
  • View wiki pages
  • Pull project code
  • Download project
  • Manage labels
  • Write a wiki
  • Create new milestones
  • Add new team members
  • Edit project
  • Switch visibility level
  • Transfer project to another namespace
  • Remove project
  • Check the entire list here. On public and internal projects the Guest

role is not enforced. GitLab administrators receive all permissions.

138/141 GitLab as a Collaborative Working Environment

slide-183
SLIDE 183

Extras Group permissions

Action Guest Reporter Developer Master Owner Browse group

  • Edit group
  • Create project in group
  • Manage group members
  • Remove group
  • If a user is both in a group’s project and the project itself, the highest

permission level is used.

139/141 GitLab as a Collaborative Working Environment

slide-184
SLIDE 184

Extras Follow up course Code and data management with Git

  • More advanced topics on version control.

140/141 GitLab as a Collaborative Working Environment

slide-185
SLIDE 185

Acknowledgements Jeroen Laros Jonathan Vis Guy Allard

https://git.lumc.nl/mlefter/gitlab-intro-course/