Update
This commit is contained in:
+10
-1
@@ -64,8 +64,17 @@ app.get('/api/stacks', async (req, res) => {
|
|||||||
// Filter nach Endpoint-ID
|
// Filter nach Endpoint-ID
|
||||||
const filteredStacks = stacksRes.data.filter(stack => stack.EndpointId === ENDPOINT_ID);
|
const filteredStacks = stacksRes.data.filter(stack => stack.EndpointId === ENDPOINT_ID);
|
||||||
|
|
||||||
|
// Deduplication nach Name: nur einmal pro Name
|
||||||
|
const uniqueStacksMap = {};
|
||||||
|
filteredStacks.forEach(stack => {
|
||||||
|
if (!uniqueStacksMap[stack.Name]) {
|
||||||
|
uniqueStacksMap[stack.Name] = stack;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
const uniqueStacks = Object.values(uniqueStacksMap);
|
||||||
|
|
||||||
const stacksWithStatus = await Promise.all(
|
const stacksWithStatus = await Promise.all(
|
||||||
filteredStacks.map(async (stack) => {
|
uniqueStacks.map(async (stack) => {
|
||||||
try {
|
try {
|
||||||
const statusRes = await axiosInstance.get(
|
const statusRes = await axiosInstance.get(
|
||||||
`/api/stacks/${stack.Id}/images_status?refresh=true`
|
`/api/stacks/${stack.Id}/images_status?refresh=true`
|
||||||
|
|||||||
@@ -0,0 +1,58 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# --- Konfiguration ---
|
||||||
|
GHCR_USERNAME="<dein-github-username>"
|
||||||
|
REPO_NAME="<dein-repo-name>"
|
||||||
|
|
||||||
|
# --- Branch prüfen ---
|
||||||
|
BRANCH=$(git rev-parse --abbrev-ref HEAD)
|
||||||
|
if [[ "$BRANCH" != "master" ]]; then
|
||||||
|
echo "Fehler: Du musst auf 'master' sein, um ein Release zu machen."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# --- Versionsnummer abfragen ---
|
||||||
|
while true; do
|
||||||
|
read -p "Bitte Versionsnummer für das Release eingeben (z.B. v0.2.0): " VERSION_TAG
|
||||||
|
if [[ -n "$VERSION_TAG" ]]; then break; else echo "Versionsnummer darf nicht leer sein."; fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# --- Git: Pull und Merge sicherstellen ---
|
||||||
|
git pull origin master
|
||||||
|
|
||||||
|
# --- Git: Commit ausstehender Änderungen ---
|
||||||
|
git add .
|
||||||
|
read -p "Commit-Nachricht eingeben (default: 'Release $VERSION_TAG'): " COMMIT_MSG
|
||||||
|
COMMIT_MSG=${COMMIT_MSG:-"Release $VERSION_TAG"}
|
||||||
|
git commit -m "$COMMIT_MSG" || echo "Keine Änderungen zum Committen."
|
||||||
|
|
||||||
|
# --- Git: Tag setzen ---
|
||||||
|
if git rev-parse "$VERSION_TAG" >/dev/null 2>&1; then
|
||||||
|
echo "Tag $VERSION_TAG existiert bereits. Bitte zuerst löschen oder neuen Tag wählen."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
git tag -a "$VERSION_TAG" -m "Release $VERSION_TAG"
|
||||||
|
|
||||||
|
# --- Git: Push master + Tag ---
|
||||||
|
git push origin master
|
||||||
|
git push origin "$VERSION_TAG"
|
||||||
|
echo "Tag $VERSION_TAG gesetzt und auf master gepusht."
|
||||||
|
|
||||||
|
# --- Docker: Login ---
|
||||||
|
if [ -z "$CR_PAT" ]; then
|
||||||
|
echo "CR_PAT (GitHub Token) nicht gesetzt! Bitte export CR_PAT=<token>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo $CR_PAT | docker login ghcr.io -u $GHCR_USERNAME --password-stdin
|
||||||
|
|
||||||
|
# --- Docker: Build & Tag ---
|
||||||
|
docker build -t ghcr.io/$GHCR_USERNAME/$REPO_NAME:$VERSION_TAG .
|
||||||
|
docker tag ghcr.io/$GHCR_USERNAME/$REPO_NAME:$VERSION_TAG ghcr.io/$GHCR_USERNAME/$REPO_NAME:latest
|
||||||
|
|
||||||
|
# --- Docker: Push ---
|
||||||
|
docker push ghcr.io/$GHCR_USERNAME/$REPO_NAME:$VERSION_TAG
|
||||||
|
docker push ghcr.io/$GHCR_USERNAME/$REPO_NAME:latest
|
||||||
|
|
||||||
|
echo "Release $VERSION_TAG erfolgreich auf master + GHCR gepusht!"
|
||||||
Reference in New Issue
Block a user