From 7b7bd7d11ef59deb38e6c18e1d73cdff9c7f5ffa Mon Sep 17 00:00:00 2001 From: ParkWonYeop Date: Sat, 27 Dec 2025 16:57:17 +0900 Subject: [PATCH] . --- .gitea/workflows/deploy.yml | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index a032338..1b17fad 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -30,25 +30,38 @@ jobs: git --version - name: Clone Repository + # 환경 변수로 필요한 값들을 주입받습니다. + env: + GITEA_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITEA_SERVER_URL: ${{ gitea.server_url }} + GITEA_REPO: ${{ gitea.repository }} run: | # 현재 디렉토리가 비어있는지 확인 ls -al - # Gitea 토큰을 사용하여 레포지토리 클론 - # ${{ gitea.token }}과 ${{ gitea.repository }} 변수 사용 - git clone https://user:${{ secrets.GITHUB_TOKEN }}@${{ gitea.server_url | replace 'http://' '' | replace 'https://' '' }}/${{ gitea.repository }}.git . + # 쉘 스크립트로 URL 가공 (http://, https:// 제거) + # sed 명령어를 사용하여 프로토콜 부분을 안전하게 제거합니다. + CLEAN_URL=$(echo "$GITEA_SERVER_URL" | sed 's~http://~~g' | sed 's~https://~~g') + + echo "Cloning from: $CLEAN_URL/$GITEA_REPO.git" + + # 가공된 URL과 토큰을 사용하여 클론 수행 + git clone "https://user:${GITEA_TOKEN}@${CLEAN_URL}/${GITEA_REPO}.git" . # 클론 후 파일 목록 확인 (디버깅) echo "📂 File List after clone:" ls -al - # 단계 2: 도커 이미지를 빌드합니다. - # docker.sock을 공유했으므로, Runner 컨테이너 안에서 docker 명령어를 치면 - # 실제로는 호스트(VM)의 도커 데몬이 일을 수행합니다. - name: Build Docker Image run: | echo "Building Docker image..." - ls -al + + # 파일 존재 여부 재확인 + if [ ! -f Dockerfile ]; then + echo "❌ Dockerfile not found!" + exit 1 + fi + docker build \ --build-arg NEXT_PUBLIC_API_URL=https://blogserver.wypark.me \ -t blog-frontend:latest .