From 86363a3281d1100331ef29e61d10f0db2913baa8 Mon Sep 17 00:00:00 2001 From: gm Date: Wed, 10 Jun 2026 00:07:57 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20Gitea=20=EB=A0=88=EC=A7=80=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=EB=A6=AC=20push=20=EC=8A=A4=ED=81=AC=EB=A6=BD?= =?UTF-8?q?=ED=8A=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- push-to-gitea.sh | 70 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100755 push-to-gitea.sh diff --git a/push-to-gitea.sh b/push-to-gitea.sh new file mode 100755 index 0000000..320d918 --- /dev/null +++ b/push-to-gitea.sh @@ -0,0 +1,70 @@ +#!/bin/bash +# flash_attn 휠을 Gitea 컨테이너 레지스트리에 push하는 스크립트 +# +# 사용법: +# # 현재 빌드된 comfyui 이미지에서 휠 추출하는 경우: +# ./push-to-gitea.sh --from-image localhost/comfyui:latest +# +# # 직접 flash-attn Containerfile로 빌드하는 경우: +# ./push-to-gitea.sh --build + +set -e + +REGISTRY="10.89.0.8:3000" +REPO="gm/flash-attn-builder" +TAG="cu128-torch211" +FULL_IMAGE="${REGISTRY}/${REPO}:${TAG}" +GITEA_USER="gm" +GITEA_TOKEN="1f8061173dca537f12d3ac54b38fa8e5bf68493f" + +case "$1" in + --from-image) + # 기존 이미지에서 builder 레이어 참조해 휠 추출 + SOURCE_IMAGE="${2:-localhost/comfyui:latest}" + echo "==> $SOURCE_IMAGE 에서 flash_attn 휠 추출..." + + # 빌드된 이미지에서 builder 중간 레이어 검색 + # (multi-stage 빌드 결과 이미지엔 wheels가 없으므로 builder 이미지 활용) + echo "==> flash-attn-builder 이미지 직접 빌드 (캐시 활용)..." + cd "$(dirname "$0")" + podman build \ + --tag "localhost/flash-attn-builder-tmp:latest" \ + --target builder \ + --file Containerfile \ + . + + echo "==> 휠 추출 → 최소 이미지 생성..." + WHEEL_FILE=$(podman run --rm localhost/flash-attn-builder-tmp:latest ls /wheels/ | grep flash_attn) + echo " 휠: $WHEEL_FILE" + + podman build \ + --tag "localhost/flash-attn-builder:${TAG}" \ + --file Containerfile \ + . + ;; + + --build|*) + echo "==> flash-attn-builder 이미지 빌드..." + cd "$(dirname "$0")" + podman build \ + --tag "localhost/flash-attn-builder:${TAG}" \ + --file Containerfile \ + . + ;; +esac + +echo "" +echo "==> Gitea 레지스트리 로그인..." +echo "${GITEA_TOKEN}" | podman login "${REGISTRY}" \ + --username "${GITEA_USER}" \ + --password-stdin + +echo "==> 이미지 태그 및 push..." +podman tag "localhost/flash-attn-builder:${TAG}" "${FULL_IMAGE}" +podman push "${FULL_IMAGE}" + +echo "" +echo "완료: ${FULL_IMAGE}" +echo "ComfyUI Containerfile에서 다음과 같이 사용:" +echo " FROM ${FULL_IMAGE} AS flash-attn-wheels" +echo " COPY --from=flash-attn-wheels /wheels/ /wheels/"