Add README.md
This commit is contained in:
parent
26cf627a26
commit
745a214211
1 changed files with 97 additions and 0 deletions
97
README.md
Normal file
97
README.md
Normal 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.*
|
||||||
Loading…
Reference in a new issue