changelog_generator/create-changelog.sh
2024-09-20 16:00:11 +02:00

55 lines
1.7 KiB
Bash
Executable file

#!/bin/bash
set -e
# Funktion zur Anzeige der Verwendung
usage() {
echo "Verwendung: $0 --projects <projects> --versions <versions> [--repo <repo>] [--local <true/false>] [--type <Changelog/ReleaseNotes]"
}
# Argumente parsen
while [[ "$#" -gt 0 ]]; do
case $1 in
--projects) projects="$2"; shift ;;
--versions) versions="$2"; shift ;;
--repo) repo="$2"; shift ;;
--type) type="$2"; shift ;;
--local) local="$2"; shift ;;
*) usage ;;
esac
shift
done
# Überprüfen der erforderlichen Argumente
if [ -z "$projects" ] || [ -z "$versions" ]; then
echo "Verwendung: $0 --projects <projects> --versions <versions> [--repo <repo>] [--local <true/false>] [--type <Changelog/ReleaseNotes]"
docker compose up changelog -d
docker compose run --rm changelog
fi
# Setzen des Standard-Werts für local, falls nicht angegeben
local=${local:-false}
# Funktion zum Starten des lokalen Setups
start_local_setup() {
echo "Starte lokales Setup..."
docker compose up -d ollama && docker exec ollama ollama pull gemma2
docker compose run --rm changelog -p "$projects" -f "$versions" ${repo:+-r "$repo"} ${type:+-t "$type"}
docker compose down
}
# Funktion zum Ausführen des Changelog-Containers
run_changelog_container() {
echo "Führe Changelog-Container aus..."
docker compose up changelog -d
docker compose run --rm changelog -p "$projects" -f "$versions" ${repo:+-r "$repo"} ${type:+-t "$type"}
docker compose down
}
# Hauptlogik
echo "Projects: $projects"
echo "Versions: $versions"
echo "Type: $type"
if [ "$local" = "true" ]; then
start_local_setup
else
run_changelog_container
fi