Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Tip

A lot of useful information about the tool can be found here:

000 - GitLab - where to look for the info
005 - PSNC GitLab - general information on how to use GitLab at PSNC

What is GitLab?

GitLab is an open-source platform built around Git, the distributed version control system developed by Linus Torvalds. It provides a comprehensive set of tools and features to manage Git repositories, project planning, continuous integration/continuous deployment (CI/CD), code review, issue tracking, and more. Essentially, GitLab consolidates the entire software development lifecycle into one seamless interface, simplifying the process and making it more efficient.

Key features:

  • Git Repository Management: At its core, GitLab is a powerful Git repository manager. It allows developers to create, clone, push, and pull repositories, providing version control capabilities that ensure changes to code are tracked, managed, and merged efficiently.
  • Collaborative Development: Team members can collaborate by pushing code changes, creating issues, and reviewing each other’s code. The merge request (MR) feature allows developers to propose code changes and receive feedback before merging them.
  • Enhanced Collaboration: GitLab centralises development activities, facilitating seamless collaboration among team members regardless of their geographical location.
  • Code Review and Collaboration: GitLab streamlines code review by enabling developers to comment on code changes directly within the platform. This fosters collaboration, knowledge sharing, and ensures the quality of code before merging.
  • Continuous Integration/Continuous Deployment (CI/CD): One of GitLab’s standout features is its integrated CI/CD pipelines. Developers can automate the testing, building, and deployment processes, ensuring code changes are thoroughly tested before being merged into the main codebase and deployed to production.
Panel
borderColorblack
titleColorBlue
borderWidth2
borderStylesolid

Go to ACH GitLab

Image Added

How to request Gitlab project?

PSNC GitLab - new project

How I can import repository?

PSNC GitLab - project migration

YouTube: Importing project to EUROfusion (ACH-04) Gitlab

How to integrate your Jira project with GitLab?

ACH GitLab Jira integration

GitLab - just boring codes?

Not only! Meet:

Info
titlepush vs pull mirror

pull mirroring periodically retrieves updates from the upstream repository
push mirrors only receive changes when: Commits are pushed to the upstream GitLab repository


Image Added

Image Added

GitLab - accessing repository with access tokens

If you try to clone git repository using your username and password you can face following issue

Code Block
> git clone https://gitlab.eufus.psnc.pl/g2jwasik/muscle3-contenerized-test.git
Cloning into 'muscle3-contenerized-test'...
Username for 'https://gitlab.eufus.psnc.pl': g2michal
Password for 'https://g2michal@gitlab.eufus.psnc.pl':
remote: HTTP Basic: Access denied. If a password was provided for Git authentication, the password was incorrect or you're required to use a token instead of a password. If a token was provided, it was either incorrect, expired, or improperly scoped. See https://gitlab.eufus.psnc.pl/help/topics/git/troubleshooting_git.md#error-on-git-fetch-http-basic-access-denied
fatal: Authentication failed for 'https://gitlab.eufus.psnc.pl/g2jwasik/muscle3-contenerized-test.git/'

It means that you are using incorrect password (one that is used for browser based access). In order to access repository from CLI, you need to generate Access token. To do so, follow the steps:

  1. login to https://gitlab.eufus.psnc.pl/
  2. choose your avatar (top left corner) and choose: Preferences → Access tokens → Add new token

Image Added


Now, you can use your newly generated and safely stored token as a password

Code Block
> git clone https://gitlab.eufus.psnc.pl/g2jwasik/muscle3-contenerized-test.git
Cloning into 'muscle3-contenerized-test'...
Username for 'https://gitlab.eufus.psnc.pl': g2michal
Password for 'https://g2michal@gitlab.eufus.psnc.pl':
remote: Enumerating objects: 51, done.
remote: Counting objects: 100% (39/39), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 51 (delta 12), reused 0 (delta 0), pack-reused 12 (from 1)
Receiving objects: 100% (51/51), 11.89 KiB | 2.38 MiB/s, done.
Resolving deltas: 100% (14/14), done.