6.0 KiB
Configuration Gitea - sdk_client
Ce guide explique comment configurer le projet sdk_client spécifiquement pour Gitea (git.4nkweb.com).
🎯 Configuration Gitea
Repository Configuration
Le projet est hébergé sur : https://git.4nkweb.com/4nk/4NK_node
Branches Principales
main
- Branche principale, code stabledevelop
- Branche de développement (optionnelle)feature/*
- Branches de fonctionnalitésfix/*
- Branches de corrections
Protection des Branches
Configurez les protections suivantes sur Gitea :
-
Branche
main
:- ✅ Require pull request reviews before merging
- ✅ Require status checks to pass before merging
- ✅ Require branches to be up to date before merging
- ✅ Restrict pushes that create files
- ✅ Restrict pushes that delete files
-
Branche
develop
(si utilisée) :- ✅ Require pull request reviews before merging
- ✅ Require status checks to pass before merging
🔧 Configuration CI/CD
Option 1 : Gitea Actions (Recommandé)
Si votre instance Gitea supporte Gitea Actions :
# .gitea/workflows/ci.yml
name: CI - sdk_client
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main, develop ]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Run tests
run: |
cd sdk_relay
cargo test
Option 2 : Runner Externe
Configurez un runner CI/CD externe (Jenkins, GitLab CI, etc.) :
# Exemple avec Jenkins
pipeline {
agent any
stages {
stage('Checkout') {
steps {
checkout scm
}
}
stage('Test') {
steps {
sh 'cd sdk_relay && cargo test'
}
}
stage('Build') {
steps {
sh 'docker-compose build'
}
}
}
}
Option 3 : GitHub Actions (Migration)
Si vous souhaitez utiliser GitHub Actions avec un miroir :
- Créez un repository miroir sur GitHub
- Configurez un webhook pour synchroniser automatiquement
- Utilisez le workflow GitHub Actions existant
📋 Templates Gitea
Issues Templates
Les templates d'issues sont stockés dans .gitea/ISSUE_TEMPLATE/
:
bug_report.md
- Pour signaler des bugsfeature_request.md
- Pour proposer des fonctionnalités
Pull Request Template
Le template de PR est dans .gitea/PULL_REQUEST_TEMPLATE.md
🔗 Intégrations Gitea
Webhooks
Configurez des webhooks pour :
- Notifications - Slack, Discord, Email
- CI/CD - Déclenchement automatique des builds
- Deployment - Déploiement automatique
API Gitea
Utilisez l'API Gitea pour l'automatisation :
# Exemple : Créer une release
curl -X POST "https://git.4nkweb.com/api/v1/repos/4nk/4NK_node/releases" \
-H "Authorization: token YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"tag_name": "v1.0.0",
"name": "Release v1.0.0",
"body": "Description de la release"
}'
🏷️ Labels et Milestones
Labels Recommandés
- bug - Problèmes et bugs
- enhancement - Nouvelles fonctionnalités
- documentation - Amélioration de la documentation
- good first issue - Pour les nouveaux contributeurs
- help wanted - Besoin d'aide
- priority: high - Priorité élevée
- priority: low - Priorité basse
- status: blocked - Bloqué
- status: in progress - En cours
- status: ready for review - Prêt pour review
Milestones
- v1.0.0 - Version stable initiale
- v1.1.0 - Améliorations et corrections
- v2.0.0 - Nouvelles fonctionnalités majeures
🔐 Sécurité Gitea
Permissions
-
Repository :
- Public pour l'open source
- Issues et PR activés
- Wiki activé (optionnel)
-
Collaborateurs :
- Maintainers : Write access
- Contributors : Read access
- Public : Read access
Secrets
Stockez les secrets sensibles dans les variables d'environnement Gitea :
DOCKER_USERNAME
DOCKER_PASSWORD
GITEA_TOKEN
SLACK_WEBHOOK_URL
📊 Monitoring et Analytics
Gitea Analytics
- Traffic - Vues du repository
- Contributors - Contributeurs actifs
- Issues - Statistiques des issues
- Pull Requests - Statistiques des PR
Intégrations Externes
- Codecov - Couverture de code
- SonarCloud - Qualité du code
- Dependabot - Mise à jour des dépendances
🚀 Workflow de Contribution
1. Fork et Clone
# Fork sur Gitea
# Puis clone
git clone https://git.4nkweb.com/votre-username/4NK_node.git
cd 4NK_node
# Ajouter l'upstream
git remote add upstream https://git.4nkweb.com/4nk/4NK_node.git
2. Développement
# Créer une branche
git checkout -b feature/nouvelle-fonctionnalite
# Développer
# ...
# Commiter
git commit -m "feat: ajouter nouvelle fonctionnalité"
# Pousser
git push origin feature/nouvelle-fonctionnalite
3. Pull Request
- Créer une PR sur Gitea
- Remplir le template
- Attendre les reviews
- Merge après approbation
🔧 Configuration Avancée
Gitea Configuration
# gitea.ini
[repository]
DEFAULT_BRANCH = main
PUSH_CREATE_DELETE_PROTECTED_BRANCH = true
[repository.pull-request]
ENABLE_WHITELIST = true
WHITELIST_USERS = admin,maintainer
Webhooks Configuration
# webhook.yml
url: "https://your-ci-server.com/webhook"
content_type: "application/json"
secret: "your-secret"
events:
- push
- pull_request
- issues
📚 Ressources
Documentation Gitea
Outils Utiles
- Gitea CLI - Interface en ligne de commande
- Gitea SDK - SDK pour l'automatisation
- Gitea Runner - Runner pour les actions
Configuration Gitea terminée ! Le projet est prêt pour l'open source sur git.4nkweb.com 🚀