Replace build_push.py with build_push.sh, use shell script run config

This commit is contained in:
Oliver Hofmann 2026-04-29 08:23:07 +02:00
parent 511e85ea79
commit a0512b3b2b
3 changed files with 36 additions and 60 deletions

View File

@ -1,16 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Docker Push" type="PythonConfigurationType" factoryName="Python">
<module name="llm_quota" />
<configuration default="false" name="Docker Push" type="ShConfigurationType">
<option name="SCRIPT_PATH" value="$PROJECT_DIR$/build_push.sh" />
<option name="INDEPENDENT_SCRIPT_PATH" value="true" />
<option name="INTERPRETER_PATH" value="/bin/bash" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="IS_MODULE_SDK" value="false" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/build_push.py" />
<option name="PARAMETERS" value="" />
<option name="INDEPENDENT_SCRIPT_WORKING_DIRECTORY" value="true" />
<option name="SCRIPT_WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<method v="2" />
</configuration>
</component>

View File

@ -1,50 +0,0 @@
#!/usr/bin/env python3
"""Baut das Docker-Image für arm64 und pushed es zu DockerHub."""
import subprocess
import sys
from pathlib import Path
IMAGE = 'mediaeng/llmproxy'
PLATFORM = 'linux/arm64'
def run(cmd: list[str], cwd: Path):
print(f'$ {" ".join(cmd)}\n')
result = subprocess.run(cmd, cwd=cwd)
if result.returncode != 0:
sys.exit(result.returncode)
def main():
root = Path(__file__).parent
version = subprocess.run(
['git', 'describe', '--tags', '--always'],
cwd=root, capture_output=True, text=True,
).stdout.strip()
if not version:
print('Fehler: git describe liefert kein Ergebnis')
sys.exit(1)
print(f'Version : {version}')
print(f'Image : {IMAGE}')
print(f'Platform: {PLATFORM}')
print(f'Tags : {IMAGE}:{version} {IMAGE}:latest\n')
run([
'docker', 'buildx', 'build',
'--platform', PLATFORM,
'--push',
'-t', f'{IMAGE}:{version}',
'-t', f'{IMAGE}:latest',
'.',
], cwd=root)
print(f'\nFertig. Gepusht:')
print(f' docker pull {IMAGE}:{version}')
print(f' docker pull {IMAGE}:latest')
if __name__ == '__main__':
main()

30
build_push.sh Executable file
View File

@ -0,0 +1,30 @@
#!/bin/bash
set -e
cd "$(dirname "$0")"
IMAGE=mediaeng/llmproxy
PLATFORM=linux/arm64
VERSION=$(git describe --tags --always)
if [ -z "$VERSION" ]; then
echo "Fehler: git describe liefert kein Ergebnis"
exit 1
fi
echo "Version : $VERSION"
echo "Image : $IMAGE"
echo "Platform: $PLATFORM"
echo "Tags : $IMAGE:$VERSION $IMAGE:latest"
echo ""
docker buildx build \
--platform "$PLATFORM" \
--push \
-t "$IMAGE:$VERSION" \
-t "$IMAGE:latest" \
.
echo ""
echo "Fertig. Gepusht:"
echo " docker pull $IMAGE:$VERSION"
echo " docker pull $IMAGE:latest"