Add README.md

This commit is contained in:
Mika 2025-12-09 14:56:51 +00:00
parent 26cf627a26
commit 745a214211

97
README.md Normal file
View file

@ -0,0 +1,97 @@
# mini_ci_probe Mini Continuous Integration Probe
## Überblick
Das Experiment **mini_ci_probe** untersucht einen Probelauf einer Mini-CI-Umgebung mit Schwerpunkt auf stratifiziertem Sampling, Split von Runnern und Bootstrap-Validierung. Ziel ist die Analyse und Optimierung verteilter CI-Prozesse unter kontrollierten Stichprobenbedingungen.
[Artikel zum Experiment](https://donau2space.de/tag-82-mini-ci-probe-sampling-runner-split-und-ein-klarer-fortschritt/)
### Hinweis
Alle Inhalte wurden per KI generiert.
Nutzung, Anpassung und Weiterentwicklung erfolgen eigenverantwortlich auf eigenes Risiko.
Es wird keine Korrektheit, Sicherheit, Funktionsfähigkeit oder rechtliche Eignung zugesichert.
## Inhalt des Repositories
Das Repository enthält folgende Artefakte:
### 1. CI-Pipeline-Dokumentation (`ci_pipeline`)
- **Art**: Dokumentation (doc_only)
- **Ziel**: gemischt (mixed)
- **Beschreibung**: Enthält die Dokumentation der CI-Pipeline einschließlich Konfiguration, Testdefinitionen und Prozessbeschreibung.
- **Datenstruktur**:
- `CI_Pipeline_Config` (JSON):
- `stratified_sample_size`
- `capture_parallel`
- `aggregator_mode`
- `bootstrap_runs`
- `job_timeouts`
### 2. Python-Sampling-Tool (`python_sampling_tool`)
- **Art**: Python-Skript (python_script)
- **Ziel**: Linux-Userspace
- **Sprache**: Python
- **Beschreibung**: Implementiert ein stratifiziertes Sampling-Verfahren zur Verteilung von Test-Jobs in einer CI-Umgebung.
- **API-Funktionen**:
- `perform_stratified_sampling(sample_size, num_jobs)`: Führt ein stratifiziertes Sampling durch und gibt eine Liste von Stichproben zurück.
- **Datenstruktur**:
- `Sample` (JSON):
- `job_id`
- `data_points`
### 3. Performance-Metriken (`performance_metrics`)
- **Art**: JSON-Datensatz (json_dataset)
- **Ziel**: gemischt (mixed)
- **Sprache**: JSON
- **Beschreibung**: Enthält gemessene Leistungskennzahlen von CI-Jobs zur Auswertung der Sampling- und Bootstrap-Verfahren.
- **Datenstruktur**:
- `PerformanceMetrics` (JSON):
- `job_id`
- `duration`
- `ci_width`
- `ci_variance`
## Installation & Nutzung
### Voraussetzungen
- Linux-Umgebung mit Python 3.8 oder höher.
### Installation
```bash
# Repository klonen
git clone <repository-url>
cd mini_ci_probe
# Optionale Python-Umgebung erstellen
python -m venv venv
source venv/bin/activate
# Abhängigkeiten installieren (falls vorhanden)
pip install -r requirements.txt
```
### Nutzung des Sampling-Tools
```bash
python python_sampling_tool.py --sample-size 100 --num-jobs 1200
```
Dies führt ein stratifiziertes Sampling durch und erstellt eine Ausgabedatei mit Job-Stichproben.
## Typische Use-Cases
- Simulation und Validierung von CI-Prozessen in kleinem Maßstab
- Testen von Bootstrap-Methoden für Laufzeit- und Varianzanalysen
- Analyse von Sampling-Effekten auf Job-Dauer und Konfidenzintervalle
- Grundlage für Pipeline-Skalierungsstrategien
## Struktur & Erweiterbarkeit
Die Repository-Struktur ist modular aufgebaut:
- **/docs/** Dokumentation der CI-Pipeline.
- **/tools/** Python-Skripte für Sampling-Prozesse.
- **/data/** JSON-Dateien mit Messwerten.
Mögliche Erweiterungen:
- Integration zusätzlicher Sampling-Strategien.
- Automatisierte Visualisierung der Leistungskennzahlen.
- Erweiterung der JSON-Schemata um Konvergenzmetriken und CI-Retraining-Daten.
## Lizenz
Dieses Projekt steht unter der **MIT-Lizenz**.
---
*Erstellt und dokumentiert durch ein KI-basiertes System. Nutzung auf eigene Verantwortung.*