Manchmal verwenden wir bei Gitlab-Pipelines die CI_PIPELINE_IID zur Generierung von Versionsnummern. Die CI_PIPELINE_IID wird bei jedem Lauf einer Pipeline inkrementiert und entspricht somit einer Art “BuildNumber”.
Probleme treten auf, wenn man bspw. einen zweiten Gitlab-Server aufbaut und die Projekte mittels Export/Import übernimmt. Dann haben beide Server die gleiche CI_PIPELINE_IID und es kommt leicht zu Überlappungen.
Hier zeige ich, wie ich beim zweiten Gitlab-Server die CI_PIPELINE_IID “hochdrehe”, damit dieser immer höhere Werte hat.
Einen bei Gitlab dokumentierten Weg zur Anpassung der CI_PIPELINE_IID habe ich nicht gefunden, deshalb die nachfolgende Beschreibung:
- Projekt exportieren via “Settings – General – Advanced – Export project”
und herunterladen
- Dateiname: (zeitstempel)_(id)_(gruppe)_(projektname)_export.tar.gz
- Beispiel: 2022-05-02_07-10-555_uli_test-projekt_export.tar.gz
- Export auspacken
mkdir export
cd export
gzip -cd .../(dateiname)_export.tar.gz | tar xf -
- Sichten des letzten Wertes von CI_PIPELINE_IID:
tail -1 tree/project/ci_pipelines.ndjson|jq '.iid'
–>90
- Hochsetzen von 90 auf 190:
sed -i -e '$ s/"iid":90/"iid":190/' tree/project/ci_pipelines.ndjson
- Nachkontrolle:
tail -1 tree/project/ci_pipelines.ndjson|jq '.iid'
–>190
- Neu verpacken:
tar cf - .|gzip -c9 >.../(neue-datei)\_export.tar.gz
- In Gitlab importieren unter anderem Namen
- Bauen –> Klappt, IID ist hochgedrent
- Ggf. Original-Projekt ersetzen mit der neuen Variante
Historie
- 2022-05-02: Erste Version