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 :
- Créant une nouvelle Organisation
- Créant une/Des nouvelle équipe(s) dans l'organisation
- Créant un nouvel utilisateur local pour les besoins CI/CD
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édentesRM_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
- Remplacez l'ancre
Java
MVN_SETTINGS: Le contenu de la variable doit être celui d'un fichier mavensettings.xml- Cette variable doit être de type
Fichier - Activez l'expansion de paramètres.
- Un exemple est présent ci-dessous
- Cette variable doit être de type
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 formeusername:passwordencodé 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 -npar exemple)- ex: via le terminal, utiliser
echo -n <username>:<password> | base64
- ex: via le terminal, utiliser
- Mettez la visibilité de la variable en
Masquée - Désactivez les 2 options de la section
Flags
- Attention à l'encodage base64, il ne doit pas y avoir de retour à la ligne après la chaine de caractère (possible en utilisant
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
NPMRCest présent ci-dessous
- La variable doit être de type
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/
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)