Skip to content

Commit

Permalink
feat(gitlab): update Gitlab PAT docs (#1912)
Browse files Browse the repository at this point in the history
I've updated the documentation on Gitlab Personal Access Tokens (PATs).
  • Loading branch information
bryanpaget authored Dec 11, 2023
1 parent f3f7064 commit 4802888
Show file tree
Hide file tree
Showing 13 changed files with 129 additions and 54 deletions.
91 changes: 64 additions & 27 deletions docs/en/6-Gitlab/Gitlab.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,78 @@
## __IMPORTANT NOTES__
1) Please do NOT store your token _anywhere_ in your workspace server file system. Contributors to a namespace will have access to them.
2) If there is a contributor external to Statistics Canada in your namespace, you will lose access to cloud main GitLab access!
# GitLab Setup Guide

-------------------
Welcome to GitLab! GitLab is a powerful platform that facilitates collaborative development using Git. Before diving into the world of repositories, let's ensure your Git configuration aligns with your GitLab identity. Below are instructions on personalizing `git` and creating a Personal Access Token (PAT) for seamless interaction with GitLab repositories.

## Personalizing Git

Thankfully, using the cloud main GitLab on the AAW is just like how you would regularly use git.
When using `git`, it's essential to set up your identity. Open a new terminal session and run the following commands to configure your name and email associated with GitLab:

### Step 1: Locate the Git repo you want to clone and copy the clone with HTTPS option
If your repository is private, you will need to also do Step 4 (Creating a Personal Access Token) for this to go through.
For me this was a test repo
![Clone with SSH image](https://user-images.githubusercontent.com/23174198/217060353-ba229ced-b5c1-4eae-8878-9608835cc65f.png)
### User Name

### Step 2: Paste the copied link into one of your workspace servers
![Git clone example](https://user-images.githubusercontent.com/23174198/217060697-535df6c1-d9bb-4bc3-a42b-9f085a5386d5.png)
```bash
git config --global user.name "Your Name"
```

### Step 3: Success!
As seen in the above screenshot I have cloned the repo!
### Email

### Step 4: Create a Personal Access Token for pushing (also used if pulling from a private repository)
If you try to `git push ....` you will encounter an error eventually leading you to the [GitLab help documentation](https://gitlab.k8s.cloud.statcan.ca/help/user/profile/account/two_factor_authentication.md#error-http-basic-access-denied-the-provided-password-or-token-)
```bash
git config --global user.email "[email protected]"
```

You will need to make a Personal Access Token for this. To achieve this go in GitLab, click your profile icon and then hit `Preferences` and then `Access Tokens`
![Personal Access Tokens](https://user-images.githubusercontent.com/23174198/217061060-122dded8-dc80-46ce-a907-a85913cf5dd7.png)
Follow the prompts entering the name, the token expiration date and granting the token permissions (I granted `write_repository`)
Now, whenever you interact with GitLab, `git` will use this information to identify you.

### Step 5: Personalize `Git` to be you
Run `git config user.email ....` and `git config user.name ...` to match your GitLab identity.
## Create a Personal Access Token (PAT)

### Step 6: Supply the Generated Token when asked for your password
The token will by copy-able at the top once you hit `Create personal access token` at the bottom
![Supply Personal Access Token](https://user-images.githubusercontent.com/23174198/217062846-03a715f1-ded5-4d80-ad4b-c647ae5e30fd.png)
To interact (push, pull) with any Statistics Canada GitLab repository, you need to create a Personal Access Token. Follow these steps:

Once you have prepared everything it's time
![Final steps](https://user-images.githubusercontent.com/23174198/217063198-c1bd6c3a-ebc5-444d-98ba-24ef32faa20e.png)
1. [Go to GitLab](https://gitlab.k8s.cloud.statcan.ca/).
2. Click your **Profile Icon** in the upper left corner.
3. Select **Preferences** and then **Access Tokens**.

### Profile Icon

### Step 7: See the results of your hard work in GitLab
![GitLab menu](https://user-images.githubusercontent.com/23174198/217063990-efaa8e81-a0eb-4b6d-842e-2ca3112bb4f7.png)
![Profile Icon](../images/gitlab-1.png)

### Access Tokens

![Access Tokens](../images/gitlab-2.png)

### Personal Access Token Form

![Personal Access Token Form](../images/gitlab-3.png)

- Complete the form by providing a name for the token (for easy identification), setting the token expiration date, and granting permissions (e.g., `read_repository` and `write_repository`).
- The token expires on that date at midnight UTC.
- If you do not enter an expiry date, the expiry date is automatically set to 365 days later than the current date.
- By default, this date can be a maximum of 365 days later than the current date.

### The Token

<!-- prettier-ignore -->
!!! warning "Keep your secrets to yourself!"
1. Please do NOT store your personal access token _anywhere_ in your workspace server file system. Contributors to a namespace will have access to them!
2. If there is a contributor external to Statistics Canada in your namespace, you will lose access to cloud main GitLab access!

![Token](../images/gitlab-4.png)

The generated token will be copy-able at the top after clicking **Create personal access token**. Copy and securely save this token as it won't be retrievable later.

## Supply the Generated Token as Your GitLab Password

Use the generated token as your GitLab password when prompted. Here's an example of how to incorporate the token into your commands:

![Example Commands](../images/gitlab-5.png)

We can use git-credential-cache to cache our username and password for a time period. Simply enter the following in your CLI (terminal or command prompt):

``` bash
git config --global credential.helper cache
```

You can also set the timeout period (in seconds) as such:

``` bash
git config --global credential.helper 'cache --timeout=3600'

```

For more information on Gitlab Personal Access Tokens, please visit: [the official documentation](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html). With these steps, you're now set to collaborate seamlessly on GitLab! Happy coding!
Binary file added docs/en/images/custom-launchers.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/en/images/gitlab-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/en/images/gitlab-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/en/images/gitlab-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/en/images/gitlab-4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/en/images/gitlab-5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
92 changes: 65 additions & 27 deletions docs/fr/6-Gitlab/Gitlab.md
Original file line number Diff line number Diff line change
@@ -1,40 +1,78 @@
## __NOTES IMPORTANTES__
1) Veuillez NE PAS stocker votre jeton _n'importe où_ dans le système de fichiers de votre serveur d'espace de travail. Les contributeurs d'un espace de noms y auront accès.
2) S'il y a un contributeur externe à Statistique Canada dans votre espace de noms, vous perdrez l'accès au nuage principal de GitLab !
# Guide de configuration de GitLab

-------------------
Bienvenue sur GitLab ! GitLab est une plateforme puissante qui facilite le développement collaboratif à l'aide de Git. Avant de plonger dans le monde des référentiels, assurons-nous que votre configuration Git correspond à votre identité GitLab. Vous trouverez ci-dessous des instructions sur la personnalisation de « git » et la création d'un jeton d'accès personnel (PAT) pour une interaction transparente avec les référentiels GitLab.

## Personnalisation de Git

Heureusement, l'utilisation du cloud main GitLab sur l'ETAA se fait de la même manière que l'utilisation régulière de git.
Lorsque vous utilisez `git`, il est essentiel de configurer votre identité. Ouvrez une nouvelle session de terminal et exécutez les commandes suivantes pour configurer votre nom et votre adresse e-mail associés à GitLab :

### Étape 1 : Localisez le dépôt Git que vous voulez cloner et copiez l'option cloner avec HTTPS.
Si votre dépôt est privé, vous devrez également faire l'étape 4 (Création d'un jeton d'accès personnel) pour que cela fonctionne.
Pour moi, il s'agissait d'un dépôt de test
![Cloner avec image SSH](https://user-images.githubusercontent.com/23174198/217060353-ba229ced-b5c1-4eae-8878-9608835cc65f.png)
### Nom d'utilisateur

### Étape 2 : Coller le lien copié dans l'un des serveurs de votre espace de travail
![Exemple de clonage Git](https://user-images.githubusercontent.com/23174198/217060697-535df6c1-d9bb-4bc3-a42b-9f085a5386d5.png)
```bash
git config --global user.name "Votre nom"
```

### Étape 3 : Succès !
Comme le montre la capture d'écran ci-dessus, j'ai cloné le repo !
### E-mail

### Étape 4 : Créer un jeton d'accès personnel pour pousser (également utilisé pour extraire d'un dépôt privé)
Si vous essayez de `git push ....` vous rencontrerez une erreur qui vous mènera à la [documentation d'aide de GitLab](https://gitlab.k8s.cloud.statcan.ca/help/user/profile/account/two_factor_authentication.md#error-http-basic-access-denied-the-provided-password-or-token-)
```bash
git config --global user.email "[email protected]"
```

Vous devrez créer un jeton d'accès personnel pour cela. Pour cela, allez dans GitLab, cliquez sur l'icône de votre profil, puis sur `Préférences` et ensuite sur `Tokens d'accès`
![Jeton d'accès personnel](https://user-images.githubusercontent.com/23174198/217061060-122dded8-dc80-46ce-a907-a85913cf5dd7.png)
Suivez les instructions en entrant le nom, la date d'expiration du token et en accordant les permissions au token (j'ai accordé `write_repository`).
Désormais, chaque fois que vous interagissez avec GitLab, `git` utilisera ces informations pour vous identifier.

### Étape 5 : Personnaliser `Git` pour qu'il soit à votre image
Exécutez `git config user.email ....` et `git config user.name ...` pour correspondre à votre identité GitLab.
## Créer un jeton d'accès personnel (PAT)

### Étape 6 : Fournir le jeton généré lorsqu'on vous demande votre mot de passe
Le jeton sera copiable en haut une fois que vous aurez cliqué sur `Create personal access token` en bas.
![Fournir un jeton d'accès personnel](https://user-images.githubusercontent.com/23174198/217062846-03a715f1-ded5-4d80-ad4b-c647ae5e30fd.png)
Pour interagir (push, pull) avec n'importe quel référentiel GitLab de Statistique Canada, vous devez créer un jeton d'accès personnel. Suivez ces étapes:

Une fois que vous avez tout préparé, c'est le moment
![Dernière étape](https://user-images.githubusercontent.com/23174198/217063198-c1bd6c3a-ebc5-444d-98ba-24ef32faa20e.png)
1. [Allez sur GitLab](https://gitlab.k8s.cloud.statcan.ca/).
2. Cliquez sur votre **icône de profil** dans le coin supérieur gauche.
3. Sélectionnez **Préférences**, puis **Jetons d'accès**.

### Icône de profil

### Étape 7 : Voir les résultats de votre travail dans GitLab
![Menu Gitlab](https://user-images.githubusercontent.com/23174198/217063990-efaa8e81-a0eb-4b6d-842e-2ca3112bb4f7.png)
![Icône de profil](../images/gitlab-1.png)

### Jetons d'accès

![Jetons d'accès](../images/gitlab-2.png)

### Formulaire de jeton d'accès personnel

![Formulaire de jeton d'accès personnel](../images/gitlab-3.png)

- Remplissez le formulaire en fournissant un nom pour le jeton (pour une identification facile), en définissant la date d'expiration du jeton et en accordant des autorisations (par exemple, `read_repository` et `write_repository`).
- Le token expire à cette date à minuit UTC.
- Si vous ne saisissez pas de date d'expiration, la date d'expiration est automatiquement fixée à 365 jours après la date du jour.
- Par défaut, cette date peut être postérieure au maximum de 365 jours à la date du jour.

### Le jeton

<!-- prettier-ignore -->
!!! warning "Gardez vos secrets pour vous!"
1. Veuillez NE PAS stocker votre jeton d'accès personnel _n'importe où_ dans le système de fichiers de votre serveur d'espace de travail. Les contributeurs à un espace de noms y auront accès !
2. S'il y a un contributeur externe à Statistique Canada dans votre espace de noms, vous perdrez l'accès à l'accès principal au cloud GitLab !

![Jeton](../images/gitlab-4.png)

Le jeton généré pourra être copié en haut après avoir cliqué sur **Créer un jeton d'accès personnel**. Copiez et enregistrez ce jeton en toute sécurité, car il ne pourra pas être récupéré ultérieurement.

## Fournissez le jeton généré comme mot de passe GitLab

Utilisez le jeton généré comme mot de passe GitLab lorsque vous y êtes invité. Voici un exemple de la façon d'incorporer le jeton dans vos commandes :

![Exemples de commandes](../images/gitlab-5.png)

Nous pouvons utiliser git-credential-cache pour mettre en cache notre nom d'utilisateur et notre mot de passe pendant une période donnée. Entrez simplement ce qui suit dans votre CLI (terminal ou invite de commande) :

``` bash
git config --global credential.helper cache
```

Vous pouvez également définir le délai d'attente (en secondes) comme tel :

``` bash
git config --global credential.helper 'cache --timeout=3600'

```

Pour plus d'informations sur les jetons d'accès personnels Gitlab, veuillez visiter : [la documentation officielle](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html). Avec ces étapes, vous êtes désormais prêt à collaborer de manière transparente sur GitLab ! Bon codage !
Binary file added docs/fr/images/custom-launchers.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/fr/images/gitlab-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/fr/images/gitlab-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/fr/images/gitlab-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/fr/images/gitlab-4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 4802888

Please sign in to comment.