AI가 잘못된 배포 설정을 만들면 어떻게 하나요?
AI 결과는 확정된 설정이 아니라 후보입니다. 탐지 결과에 근거와 불확실성을 표시하고, 명세 검증과 미리보기 단계를 거칩니다. 리소스 생성이나 공개 배포 같은 영향이 있는 작업은 사용자의 승인을 받은 뒤 실행합니다. 규칙 기반 검증으로 필수 값과 위험한 설정을 추가 확인합니다.
코드에서 프리뷰까지, 한 번에 배포
Shipyard는 AI가 저장소의 구조와 실행 방법을 분석하고, 환경에 독립적인 배포 템플릿으로 로컬 Docker, AWS, GCP를 같은 방식으로 다루며, 변경사항마다 임시 프리뷰 환경을 만들어 주는 간편 배포 플랫폼입니다.
아이디어를 실제로 배포하는 과정은 코드 작성만큼 간단하지 않습니다. 개발자는 프로젝트의 실행 방식과 인프라 설정을 파악하고, 환경별 설정을 맞추고, 배포 실패를 디버깅해야 합니다. 팀원이나 이해관계자에게 변경사항을 보여주기 위한 프리뷰 환경도 별도로 구성하고 관리해야 합니다.
특히 다음 문제가 반복됩니다.
Shipyard는 저장소를 분석해 배포에 필요한 정보를 추출하고, 이를 공통 배포 템플릿으로 표현합니다. 사용자는 같은 프로젝트 정의를 바탕으로 로컬 Docker, AWS, GCP 중 목표 환경을 선택합니다. 브랜치나 변경사항에 대해서는 만료 시간이 지정된 임시 프리뷰 환경을 만들고, 검토가 끝나면 자동으로 정리합니다.
핵심 경험은 저장소 연결 → AI 분석 결과 확인 → 환경 선택 → 배포 또는 프리뷰 링크 공유입니다. 복잡한 인프라 작업은 기본값과 추상화로 감추되, 사용자가 설정과 결과를 확인하고 제어할 수 있도록 합니다.
해커톤 결과물은 완전한 범용 클라우드 플랫폼이 아니라, 한 가지 대표 앱을 대상으로 핵심 흐름을 끝까지 시연하는 MVP입니다.
저장소 분석부터 환경 어댑터, 프리뷰 수명주기 관리까지의 구조는 다음과 같습니다. 공통 배포 명세가 가운데를 지나 각 대상 환경 어댑터로 전달됩니다.
사용자 / Git 저장소
│
▼
웹 콘솔 및 API ─────────────── Git 이벤트(Webhook)
│ │
▼ ▼
저장소 분석기(AI + 규칙) 프리뷰 오케스트레이터
│ │
└──────────▼───────────────────┘
공통 배포 명세
│
템플릿 렌더러 / 검증기
│
┌──────────────┼──────────────┐
▼ ▼ ▼
Local Docker AWS Adapter GCP Adapter
│ │ │
└──────────────┴──────────────┘
│
상태·로그·URL·만료 및 정리 관리환경별 구현 세부사항을 애플리케이션 정의와 분리합니다. 프로젝트는 서비스, 빌드, 포트, 환경 변수 참조, 리소스 요구량, 헬스체크를 공통 명세에 선언하고, 대상 어댑터가 이를 로컬 Docker 또는 각 클라우드의 리소스로 변환합니다.
project:
name: sample-app
build:
command: npm run build
run:
command: npm run start
port: 3000
healthcheck: /health
env:
- DATABASE_URL
preview:
ttl: 24h위 예시는 제안서의 개념 설명용이며, 실제 MVP에서는 지원 범위를 좁혀 명세 필드와 템플릿을 고정합니다. 템플릿은 변수 치환만 하는 파일이 아니라, 입력 검증·기본값·환경별 오버라이드·렌더링 결과 검증을 포함하는 인터페이스로 설계합니다.
데모용 웹 애플리케이션의 Pull Request를 검토 가능한 임시 환경으로 배포하는 전체 흐름입니다.
데모용 웹 애플리케이션 저장소를 선택합니다.
Shipyard가 프레임워크, 빌드 명령, 시작 명령, 포트를 분석합니다. 결과 화면은 각 제안의 근거 파일을 함께 보여줍니다.
사용자는 추론된 포트나 환경 변수 목록을 확인합니다. 확실하지 않은 설정은 자동 적용하지 않고 확인을 요청합니다.
먼저 Local Docker를 선택해 공통 명세가 컨테이너 실행 구성으로 변환되는 것을 확인합니다. 이어 클라우드 대상 배포 계획을 렌더링합니다.
생성될 대상과 필요한 시크릿 참조, 예상 작업을 미리 보여줍니다. 사용자가 승인한 뒤 실행합니다.
새 PR 이벤트를 흉내 내거나 실제 Webhook을 전달해 고유 프리뷰 작업을 시작합니다.
대시보드에 빌드 상태와 프리뷰 URL, TTL이 나타납니다. 팀원이 링크에서 변경 화면을 확인합니다.
잘못된 빌드 명령을 넣어 실패를 발생시키고, AI가 관련 로그와 가능한 수정 방향을 요약하는 모습을 보여줍니다.
프리뷰를 수동 종료하거나 TTL 만료를 시뮬레이션합니다. 리소스 정리 상태와 종료 기록을 확인합니다.
아래는 구현 가능한 출발점이며, 해커톤 팀의 익숙한 도구와 실제 배포 환경에 맞춰 조정합니다.
| 영역 | 제안 | 역할 |
|---|---|---|
| 웹 콘솔 | React 또는 Next.js, TypeScript | 프로젝트 연결, 분석 결과, 배포 상태와 프리뷰 URL 표시 |
| API / 오케스트레이션 | Node.js(TypeScript) 또는 Python(FastAPI) | 저장소 분석, 배포 작업 생성, 상태 조회 API |
| AI 분석 | LLM API + 규칙 기반 탐지 | 코드 구조 요약, 배포 설정 후보와 로그 설명 생성 |
| 공통 명세 | YAML/JSON + JSON Schema | 환경 독립적인 프로젝트 및 프리뷰 설정 표현 |
| 템플릿 렌더링 | 자체 렌더러 또는 제한된 템플릿 엔진 | 명세를 검증하고 어댑터 입력으로 변환 |
| 컨테이너 | Docker / Docker Compose | 로컬 빌드와 실행, 데모의 재현성 확보 |
| 클라우드 어댑터 | AWS 및 GCP SDK/CLI 또는 IaC 도구 | 대상별 배포 구현을 공통 인터페이스 뒤에 격리 |
| 비동기 작업 | Redis 기반 큐 또는 클라우드 작업 큐 | 빌드·배포·정리 작업 실행과 상태 추적 |
| 상태 저장 | PostgreSQL 또는 SQLite(데모) | 프로젝트, 실행, 프리뷰, 만료 상태 저장 |
| 이벤트 연결 | GitHub Webhooks | PR/브랜치 이벤트 기반 프리뷰 생성 |
| 관측성 | 구조화 로그와 작업별 상태 이벤트 | 디버깅 및 실행 이력 확인 |
AI 결과는 확정된 설정이 아니라 후보입니다. 탐지 결과에 근거와 불확실성을 표시하고, 명세 검증과 미리보기 단계를 거칩니다. 리소스 생성이나 공개 배포 같은 영향이 있는 작업은 사용자의 승인을 받은 뒤 실행합니다. 규칙 기반 검증으로 필수 값과 위험한 설정을 추가 확인합니다.
애플리케이션의 공통 요구사항과 공급자별 구현을 분리합니다. 공통 명세에는 빌드·실행·포트·환경 변수 참조 같은 보편 항목을 두고, 어댑터가 이를 대상 환경의 구체적인 설정으로 변환합니다. 공급자에 따라 의미가 다른 기능은 무리하게 동일하게 보이게 하지 않고, 미지원 또는 추가 설정 필요 상태로 표시합니다.
프리뷰마다 TTL을 부여하고 만료 시 자동 정리를 수행하는 것이 기본입니다. 수동 종료도 제공하고, 정리 작업의 성공 여부를 기록합니다. 클라우드 리소스 태그와 생성 이력을 연결해 정리 실패를 탐지할 수 있도록 합니다. MVP에서는 만료 처리와 상태 확인 흐름을 우선 구현합니다.
분석 과정에서 시크릿 패턴을 마스킹하고, 분석 목적에 필요하지 않은 민감 데이터는 처리하지 않는 원칙을 둡니다. 비밀값은 배포 명세에 평문으로 저장하지 않고 시크릿 이름이나 안전한 참조만 전달합니다. 빌드 실행은 격리하고, 작업별 권한과 리소스를 제한합니다. 데모에서는 실제 운영 비밀키 대신 가짜 값이나 비밀 저장소 참조를 사용합니다.
초기 버전은 대표적인 웹 앱 유형과 제한된 런타임에 집중합니다. 저장소 분석 결과 지원 범위를 벗어나면 추측으로 배포하지 않고, 지원되지 않는 항목과 필요한 수동 설정을 알려줍니다. 이후 실제 사용에서 자주 등장하는 프레임워크와 어댑터를 추가합니다.
목표는 모든 CI/CD 기능을 다시 만드는 것이 아닙니다. 저장소 분석, 공통 템플릿, 프리뷰 생성, 여러 환경의 단순한 배포 경험을 한 흐름으로 연결하는 데 초점을 둡니다. 필요하다면 기존 CI 시스템을 빌드 실행기로 연결하고, Shipyard는 명세·환경 선택·프리뷰 수명주기를 관리할 수 있습니다.
접근 정책은 환경별로 다르게 설정할 수 있게 설계합니다. 기본값은 팀 내부 공유 또는 보호된 접근으로 두고, 공개 URL이 필요한 경우 사용자가 이를 명시적으로 선택합니다. 해커톤 데모에서는 공개 여부와 데모 환경의 제한을 분명히 안내합니다.
우선 프레임워크와 어댑터를 확장하고, 프로젝트별 템플릿 버전 관리·팀 권한·비용 추적·정책 검사·롤백을 추가할 수 있습니다. 더 나아가 AI 분석 결과를 배포 이력과 연결해 반복적인 설정 수정을 줄이고, 안전한 자동화 범위를 단계적으로 넓힐 수 있습니다.
Shipyard는 AI 코드 분석, 환경 독립적인 템플릿 엔진, 수명이 제한된 프리뷰 환경을 하나의 간단한 배포 경험으로 묶습니다. 해커톤에서는 범용 클라우드 플랫폼을 완성하려 하기보다, 저장소 분석부터 승인된 배포와 프리뷰 정리까지 이어지는 한 가지 성공 경로를 구현합니다. 이를 통해 배포를 쉽게 시작하고, 안전하게 검토하고, 사용 후 정리하는 개발자 경험을 보여주는 것을 목표로 합니다.
원문 제안서 다운로드 (.md)