Aller au contenu principal

Administration Guides

Gestion et visibilité des zones

Un nouvel utilisateur est créé dans gitea lors de la première connexion d'un utilisateur valide via SSO. Il est aussi possible de créer un utilisateur local par exemple pour des besoins CI/CD.

Initialisation de la zone

Vous pouvez initialiser votre zone en :

Votre nouvelle organisation peut maintenant être populé avec des nouveaux dépôts & projets.

Importez vos paquets privé dans votre registre de paquets privé

La plateforme est livré avec un méchanisme permet d'importer des paquets dans le registre de paquet de l'organisation publique Athea. Si vous souhaitez profiter du même fonctionnement afin d'importer dans votre organisation privé vos paquets ;

  • Récupérer un couple nom d'utilisateur/mot de passe d'un utilisateur Gitea
    • Cet utilisateur peut être celui mentionné pour les besoins CI/CD plus haut
  • Récupérez le nom de votre organisation (tenant) dans gitea
  • Créer un bucket S3 par type de package que vous souhaitez importer & récupérer le couple nom d'utilisateur/mot de passe d'un utilisateur ayant accès à ces buckets.
    • Réferez vous à la documentation d'installation du package importer pour la liste des types supportés
  • Installez le package importer en utilisant les informations précédemment récoltées

Vous pouvez maintenant déposer dans vos bucket s3 vos archives de paquets afin que celle-ci terminent dans votre dépôt de paquets.

Variables CI/CD

Afin de communiquer afet le registre de paquet privé, il faudra créer les variables suivantes :

  • RM_USERNAME : Nom d'utilisateur de votre utilisateur local créé lors des étapes précédentes
  • RM_PASSWORD : Mot de passe de votre utilisateur local créé lors des étapes précédentes

D'autres variables de CI/CD seront nécessaires, mais celles-ci sont dépendantes du type de paquet que vous souhaitez récupérer par la suite dans vos pipelines de CI/CD.

Python

  • PIP_EXTRA_INDEX_URL : https://$RM_USERNAME:$RM_PASSWORD@$ACI_PIP_TRUSTED_HOST/api/packages/[PH_ORGANIZATION_PH]/pypi/simple/
    • Remplacez l'ancre [PH_ORGANIZATION_PH] avec le nom de votre organisation (sensible à la casse)
    • Activez l'expansion de paramètres.
    • cette variable n'est pas nécessaire si vous souhaitez utiliser uniquement le dépôt public

Java

  • MVN_SETTINGS : Le contenu de la variable doit être celui d'un fichier maven settings.xml
    • Cette variable doit être de type Fichier
    • Activez l'expansion de paramètres.
    • Un exemple est présent ci-dessous

Registre de paquet public et privé

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>gitea</id>
<username>${RM_USERNAME}</username>
<password>${RM_PASSWORD}</password>
</server>
</servers>
<mirrors>
<mirror>
<id>maven-central-proxy</id>
<name>maven-central-proxy</name>
<url>${ACI_MVN_REGISTRY}/api/packages/athea/maven</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>maven-central-proxy</id>
<name>maven-central-proxy</name>
<url>${ACI_MVN_REGISTRY}/api/packages/[PH_ORGANIZATION_PH]/maven</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
<profiles>
<profile>
<id>gitea</id>
<repositories>
<repository>
<id>gitea</id>
<url>${ACI_MVN_REGISTRY}/api/packages/athea/maven</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>gitea</id>
<url>${ACI_MVN_REGISTRY}/api/packages/[PH_ORGANIZATION_PH]/maven</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>gitea</activeProfile>
</activeProfiles>
</settings>

NPM

  • RM_BASICAUTH : Chaine de caractère de la forme username:password encodé en base64
    • Attention à l'encodage base64, il ne doit pas y avoir de retour à la ligne après la chaine de caractère (possible en utilisant echo -n par exemple)
      • ex: via le terminal, utiliser echo -n <username>:<password> | base64
    • Mettez la visibilité de la variable en Masquée
    • Désactivez les 2 options de la section Flags
  • NPMRC : Un fichier de configuration .npmrc complet
    • La variable doit être de type Fichier
    • Désactivez les 2 options de la section Flags
    • Remplacez l'ancre [PH_ORGANIZATION_PH] avec le nom de votre organisation (sensible à la casse)
    • Remplacez l'ancre [PH_SCOPE_PH] avec votre scope npm
    • Un exemple de NPMRC est présent ci-dessous

Registre de paquet public et privé

  • NPMRC
@[PH_SCOPE_PH]:registry=https://gitea.[PH_domain_PH]/api/packages/[PH_ORGANIZATION_PH]/npm/
//gitea.[PH_domain_PH]/api/packages/[PH_ORGANIZATION_PH]/npm/:_auth=${RM_BASICAUTH}
registry=https://gitea.[PH_domain_PH]/api/packages/athea/npm/
remarque

En utilisant cette configuration, si on remplace @[PH_SCOPE_PH] par @mon.entreprise, tous les paquets commençant par @mon.entreprise (eg: @mon.entreprise/my-hello-world@0.0.1) seront récupéré uniquement depuis le registre privé. De plus, les noms des paquets référencés dans votre package.lock et le nom des paquets dans le registre doit matcher exactement. (ex: @mon.entreprise/my-hello-world@0.0.1 doit être exactement sous ce nom dans le registre, et non simplement my-hello-world@0.0.1)