« Gitlab: utiliser le depot composer » : différence entre les versions
Page créée avec « == Introduction == Gitlab intègre des fonctionnalités de dépôt aussi bien pour les packages que les images docker. » |
Aucun résumé des modifications |
||
(8 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
{{ArticleHead|Adadov}} | |||
Gitlab intègre des fonctionnalités de dépôt aussi bien pour les packages que les images docker. | |||
Gitlab intègre des fonctionnalités de dépôt aussi bien pour les packages que les images docker.<br> | |||
Ce qui permet de facilement déployer pour soit même les packages qu'on développe.<br> | |||
On va donc voir comment configurer composer pour accéder au dépôt de packages gitlab. | |||
=== Prérequis dans le dépôt === | |||
Gitlab nécessite des références pour créer les packages. Il se base sur les étiquettes (tag). | |||
Donc si vous souhaitez créer un package il faudra une étiquette sur le commit qui sera utilisé. | |||
=== Création du package === | |||
==== Création manuelle ==== | |||
Vous pouvez demander, via l'API uniquement, la création manuelle des package. | |||
Il faudra donc un token API pour utiliser cette fonction avec un minimum les droits suivants: | |||
* api | |||
* read_api | |||
* read_repository | |||
* read_registry | |||
* write_registry | |||
Une fois votre clé en main, il suffit de faire une simple requête curl | |||
{{LxTerm|text=curl --header "PRIVATE-TOKEN: <api_key>" --data branch=<branch> "https://git.exemple.com/api/v4/projects/<project_id>/packages/composer"|user=user}} | |||
=== Configuration de composer === | |||
{{Info|La configuration peut être globale ou dédiée au projet, suivant votre besoin.}} | |||
==== Configuration d'un simple projet ==== | |||
Du côté de composer il faudra aussi ajouter votre dépôt, personnellement j'ai choisi de configurer globalement. | |||
J'utilise le driver Gitlab de composer directement, il permet de configurer directement avec l'URL de votre projet à la place d'une URL API des fois un peu obscure ... | |||
{{LxTerm|text=composer config -g repositories.<repo_name> gitlab <repo_url>|user=user}} | |||
Ajoutez aussi votre domaine gitlab dans votre configuration: | |||
{{LxTerm|text=composer config -g gitlab-domains "<gitlab_domains>"|user=user}} | |||
==== Configuration d'un groupe de projet ==== | |||
Pour me simplifier la vie, j'ai créé un groupe pour mes différentes extensions composer, ça simplifie la configuration du client. | |||
{{LxTerm|text=composer config repositories.<url>/<groupid> '{"type": "composer", "url": "https://<url>/api/v4/group/<groupid>/-/packages/composer/packages.json"}'}} | |||
==== Configuration du token d'accès ==== | |||
{{Warning|text=Si votre dépôt a une visibilité limitée, Il faudra ajouter votre personal token dans la configuration de composer:}} | |||
{{LxTerm|text=composer config -g gitlab-token.<gitlab_domain> <token>|user=user}} | |||
[[Catégorie:SysAdmin]] |
Dernière version du 7 février 2023 à 04:08
Gitlab intègre des fonctionnalités de dépôt aussi bien pour les packages que les images docker.
Ce qui permet de facilement déployer pour soit même les packages qu'on développe.
On va donc voir comment configurer composer pour accéder au dépôt de packages gitlab.
Prérequis dans le dépôt[modifier | modifier le wikicode]
Gitlab nécessite des références pour créer les packages. Il se base sur les étiquettes (tag).
Donc si vous souhaitez créer un package il faudra une étiquette sur le commit qui sera utilisé.
Création du package[modifier | modifier le wikicode]
Création manuelle[modifier | modifier le wikicode]
Vous pouvez demander, via l'API uniquement, la création manuelle des package.
Il faudra donc un token API pour utiliser cette fonction avec un minimum les droits suivants:
- api
- read_api
- read_repository
- read_registry
- write_registry
Une fois votre clé en main, il suffit de faire une simple requête curl
[user@linux] $ | curl --header "PRIVATE-TOKEN: <api_key>" --data branch=<branch> "https://git.exemple.com/api/v4/projects/<project_id>/packages/composer" | dblclick to copy |
Configuration de composer[modifier | modifier le wikicode]
La configuration peut être globale ou dédiée au projet, suivant votre besoin. |
Configuration d'un simple projet[modifier | modifier le wikicode]
Du côté de composer il faudra aussi ajouter votre dépôt, personnellement j'ai choisi de configurer globalement.
J'utilise le driver Gitlab de composer directement, il permet de configurer directement avec l'URL de votre projet à la place d'une URL API des fois un peu obscure ...
[user@linux] $ | composer config -g repositories.<repo_name> gitlab <repo_url> | dblclick to copy |
Ajoutez aussi votre domaine gitlab dans votre configuration:
[user@linux] $ | composer config -g gitlab-domains "<gitlab_domains>" | dblclick to copy |
Configuration d'un groupe de projet[modifier | modifier le wikicode]
Pour me simplifier la vie, j'ai créé un groupe pour mes différentes extensions composer, ça simplifie la configuration du client.
[root@linux] # | composer config repositories.<url>/<groupid> '{"type": "composer", "url": "https://<url>/api/v4/group/<groupid>/-/packages/composer/packages.json"}' | dblclick to copy |
Configuration du token d'accès[modifier | modifier le wikicode]
Si votre dépôt a une visibilité limitée, Il faudra ajouter votre personal token dans la configuration de composer: |
[user@linux] $ | composer config -g gitlab-token.<gitlab_domain> <token> | dblclick to copy |