Skip to content

🚀 Deploy 20260111-v0.0.10#5

Closed
Cassiiopeia wants to merge 25 commits intodeployfrom
main
Closed

🚀 Deploy 20260111-v0.0.10#5
Cassiiopeia wants to merge 25 commits intodeployfrom
main

Conversation

@Cassiiopeia
Copy link
Contributor

@Cassiiopeia Cassiiopeia commented Jan 11, 2026

No description provided.

actions-user and others added 20 commits January 11, 2026 12:39
…미지_캡션_추출_로직_추가

20260111 #3 인스타 게시글에 대한 메타데이터 이미지 캡션 추출 로직 추가
@Cassiiopeia
Copy link
Contributor Author

@coderabbitai summary

@Cassiiopeia Cassiiopeia changed the title deploy 🚀 Deploy 20260111-v0.0.9 Jan 11, 2026
Cassiiopeia and others added 2 commits January 11, 2026 23:59
…losed 액션 → destroy 실행

                                                 issues 이벤트 + closed 액션 → destroy 실행
                                                 issue_comment 이벤트 + @suh-lab server destroy 포함 → destroy 실행 #3
@Cassiiopeia
Copy link
Contributor Author

https://github.com/coderabbitai summary

@Cassiiopeia
Copy link
Contributor Author

@coderabbitai summary

@coderabbitai
Copy link

coderabbitai bot commented Jan 11, 2026

✅ Actions performed

Summary regeneration triggered.

@coderabbitai
Copy link

coderabbitai bot commented Jan 11, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

🗂️ Base branches to auto review (1)
  • main

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

SNS 스크래퍼 기능 추가, GitHub Actions 기반 Synology PR Preview 자동화 워크플로우 도입, Playwright 의존성 추가 및 버전 업데이트.

Changes

코호트 / 파일(들) 변경 요약
GitHub Actions 워크플로우
.github/workflows/PROJECT-PYTHON-SYNOLOGY-PR-PREVIEW.yaml, .github/workflows/project-types/spring/synology/PROJECT-SPRING-SYNOLOGY-PR-PREVIEW.yaml
PR/Issue 기반 Synology 배포 자동화 워크플로우 추가. 명령어 파싱, Docker 빌드/푸시, SSH 배포, 헬스 체크, 동적 상태 업데이트 구현. 첫 파일은 Python 프로젝트용 신규 추가(+1338줄), 두 번째는 Spring 프로젝트용 기존 파일 확대(+802줄)
SNS 스크래퍼 시스템
src/services/scraper/*, src/utils/url_classifier.py
URL 기반 SNS 스크래퍼 아키텍처 추가. UrlClassification으로 URL 분류, route_and_scrape로 라우팅, Instagram/YouTube별 전용 스크래퍼(InstagramScraper, YouTubeScraper) 구현. Playwright 기반 브라우저 자동화 유틸리티(PlaywrightBrowser) 포함
API 라우터 및 통합
src/apis/test_router.py, src/main.py
/api/test 경로로 스크래퍼 기능 노출. ScrapeRequest 모델, /scrape POST 엔드포인트, /health GET 엔드포인트 추가 및 FastAPI 앱에 통합
의존성 및 패키지 관리
pyproject.toml, src/services/scraper/__init__.py, src/services/scraper/platforms/__init__.py
playwright>=1.49.0 의존성 추가. 스크래퍼 패키지 레이어 정리 및 공개 API 정의
버전 및 설정
version.yml, README.md, .gitignore, CLAUDE.md
버전 업그레이드(0.0.4 → 0.0.10), 타임스탬프 및 integration_date 메타데이터 추가. uv.lock 추적 정책 변경. 문서 한글 번역

Sequence Diagram(s)

sequenceDiagram
    actor User
    participant TestRouter as Test Router<br/>(/api/test)
    participant ScrapeRouter as Scrape Router
    participant Classifier as URL Classifier
    participant Scraper as Platform Scraper<br/>(Instagram/YouTube)
    participant Browser as Playwright Browser
    
    User->>TestRouter: POST /scrape<br/>(URL)
    TestRouter->>ScrapeRouter: route_and_scrape(url)
    ScrapeRouter->>Classifier: classify_url(url)
    Classifier-->>ScrapeRouter: UrlClassification<br/>(platform, content_type)
    
    alt Platform is Instagram
        ScrapeRouter->>Scraper: InstagramScraper.scrape_instagram_post()
        Scraper->>Browser: create_browser_and_context()
        Browser-->>Scraper: Browser/Context ready
        Scraper->>Browser: load_page(url)
        Browser-->>Scraper: Response + Page loaded
        Scraper->>Browser: extract_open_graph_tags()
        Browser-->>Scraper: OG metadata (title, desc, image)
        Scraper->>Scraper: parse_instagram_description()
        Scraper->>Scraper: extract_instagram_image_urls()
        Scraper->>Browser: close_browser()
        Scraper-->>ScrapeRouter: Structured result dict
    else Platform is YouTube
        ScrapeRouter->>Scraper: YouTubeScraper.scrape_youtube_video()
        Scraper-->>ScrapeRouter: HTTPException 501
    end
    
    ScrapeRouter-->>TestRouter: Scrape result
    TestRouter-->>User: JSON response
Loading
sequenceDiagram
    actor Dev as Developer
    participant GHA as GitHub Actions
    participant Parser as Command Parser<br/>(check-command)
    participant Builder as Build Job<br/>(PR/Issue)
    participant Docker as Docker Build<br/>& Registry
    participant Synology as Synology Server<br/>(SSH)
    participant Health as Health Check
    participant Commenter as Comment Poster
    
    Dev->>GHA: Comment: `@suh-lab` test build
    GHA->>Parser: Parse comment for command
    Parser-->>GHA: Command detected (build/destroy/status)
    GHA->>Builder: Trigger build workflow
    Builder->>Docker: docker build & push
    Docker-->>Builder: Image pushed
    Builder->>Synology: SSH deploy container
    Synology-->>Builder: Container running
    Builder->>Health: Health check (HTTP/logs)
    Health-->>Builder: Health check result
    Builder->>Commenter: Post status comment<br/>(URL, SHA, container name)
    Commenter-->>Dev: Update PR/Issue comment
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 분


Comment @coderabbitai help to get the list of available commands and usage tips.

@Cassiiopeia Cassiiopeia changed the title 🚀 Deploy 20260111-v0.0.9 🚀 Deploy 20260111-v0.0.10 Jan 11, 2026
@Cassiiopeia
Copy link
Contributor Author

@coderabbitai summary

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants