컨텐츠로 건너뛰기

Astro Studio

Astro Studio 웹 포털을 사용하면 웹 인터페이스나 CLI 명령을 사용하여 원격 호스팅 Astro DB 데이터베이스에 연결하고 관리할 수 있습니다.

Studio 대시보드에서 계정 관리, 도움말 및 지원 메시지 콘솔에 액세스할 수 있습니다.

Astro Studio를 방문하여 회원가입 또는 로그인을 해주세요.

새 Studio 프로젝트 생성

섹션 제목: 새 Studio 프로젝트 생성

Astro Studio에서 프로젝트를 생성하는 방법에는 두 가지가 있습니다.

  1. Astro Studio 웹 UI를 사용하여 신규 또는 기존 GitHub 저장소에서 생성합니다.

    시작하려면 헤더에 있는 “create project” 버튼을 클릭하고 지침을 따르세요. Astro Studio는 GitHub 저장소를 연결하고 프로젝트를 위한 새로운 호스팅 데이터베이스를 생성합니다.

  2. Astro Studio CLI를 사용하여 로컬 Astro 프로젝트에서 생성합니다. 다음 명령을 실행하여 시작할 수 있습니다.

    Terminal window
    # GitHub 계정으로 Astro Studio에 로그인합니다.
    npx astro login
    # 프롬프트를 따라 새 프로젝트에 연결합니다.
    npx astro link
    # (선택 사항) 로컬 DB 구성을 원격 데이터베이스에 푸시합니다.
    npx astro db push

    로그인 및 연결이 성공적으로 완료되었다면 모든 Astro DB 명령을 실행하여 원격 데이터베이스를 관리할 수 있습니다.

    사용 가능한 모든 명령은 Astro DB CLI 참조를 확인하세요.

Studio 연결을 사용하여 배포

섹션 제목: Studio 연결을 사용하여 배포

Studio 데이터베이스에 대한 라이브 연결을 통해 Astro DB 프로젝트를 배포할 수 있습니다. 이는 정적 빌드나 SSR 어댑터를 사용하는 모든 배포 플랫폼에서 가능합니다.

먼저 --remote 플래그를 사용하여 Studio와 연결하도록 빌드 명령을 구성합니다. 이 예시에서는 프로젝트의 package.json 파일에 있는 "build" 스크립트에 플래그를 적용합니다. 배포 플랫폼이 빌드 명령을 허용하는 경우 npm run build로 설정되어 있는지 확인하세요.

package.json
{
"scripts": {
"build": "astro build --remote"
}
}

프로덕션 배포에서 Studio 데이터베이스에 액세스하려면 앱 토큰을 생성해야 합니다. Settings 탭으로 이동하고 Tokens를 선택하여 Studio 프로젝트 대시보드에서 앱 토큰을 생성할 수 있습니다.

생성된 토큰을 복사하고 ASTRO_STUDIO_APP_TOKEN를 이름으로 사용하여 배포 플랫폼에서 환경 변수 / 환경 비밀로 적용합니다.

Studio CI action을 사용하면 스키마 변경 사항을 Studio 데이터베이스에 자동으로 푸시할 수 있습니다. 이를 통해 변경 사항이 안전하게 적용될 수 있는지 확인하고 main에 병합할 때마다 구성을 최신 상태로 유지합니다.

GitHub 문서에 따라 ASTRO_STUDIO_APP_TOKEN이라는 이름과 Studio 앱 토큰을 비밀 값으로 사용하여 저장소에 새 비밀을 구성하세요.

비밀이 구성되면 프로젝트의 .github/workflows 디렉터리에 새 GitHub Actions 워크플로 파일을 생성하여 단계별로 저장소를 체크아웃하고 Node.js를 설치하고 withastro/action-studio action을 사용하여 스키마 변경 사항을 동기화하세요.

이 action은 모든 이벤트 트리거에서 astro db verify를 실행하여 스키마 변경 사항이 안전하게 적용될 수 있는지 확인합니다. push 트리거를 별도로 추가하면 action이 해당 변경 사항을 Studio 데이터베이스에 푸시합니다.

이 예시 GitHub Action _studio.ymlmain 브랜치가 업데이트될 때마다 변경 사항을 푸시합니다.

.github/workflows/_studio.yml
name: Astro Studio
env:
ASTRO_STUDIO_APP_TOKEN: ${{secrets.ASTRO_STUDIO_APP_TOKEN }}
on:
push:
branches:
- main
pull_request:
types: [opened, reopened, synchronize]
jobs:
DB:
permissions:
contents: read
actions: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- uses: jaid/action-npm-install@v1.2.1
- uses: withastro/action-studio@main