콘텐츠로 이동

Astro 사이트를 Juno에 배포하기

Juno는 자체 호스팅의 개인 정보 보호 및 제어 기능을 통해 정적 웹사이트를 호스팅하고, 웹 애플리케이션을 빌드하고, 서버리스 함수를 실행할 수 있는 오픈 소스 서버리스 플랫폼입니다.

  1. Juno Console에 로그인하세요.

  2. 런치패드에서 Launch a new satellite 버튼(프로젝트 컨테이너)을 클릭하세요.

  3. name을 입력하고 Website를 선택하세요.

  4. Create a Satellite으로 확인하세요.

  5. 그러면 플랫폼에서 리소스를 프로비저닝합니다.

  6. 프로세스가 완료되면 Continue를 클릭하여 개요 페이지에 액세스하세요.

Astro 프로젝트는 정적 사이트로 Juno에 배포할 수 있습니다.

프로젝트 루트에 juno.config.mjs 파일을 만들고, PROD_SATELLITE_ID를 이전에 생성한 Satellite의 ID로 바꾸세요.

juno.config.mjs
import { defineConfig } from '@junobuild/config';
/** @type {import('@junobuild/config').JunoConfig} */
export default defineConfig({
satellite: {
ids: {
production: '<PROD_SATELLITE_ID>'
},
source: 'dist',
predeploy: ['npm run build']
}
});

GitHub Actions 또는 CLI(명령줄 인터페이스)를 사용하여 배포할 수 있습니다.

  1. Satellite 개요에서 Setup 탭으로 이동하세요.

  2. Add an access key를 클릭하세요.

  3. 기본 옵션으로 새 키를 생성하세요. Submit을 클릭하세요.

  4. 성공적으로 생성되면 Secret token이 표시됩니다. 값을 복사하여 GitHub 리포지토리 또는 조직에 암호화된 비밀로 저장하세요. 이때 키는 JUNO_TOKEN을 사용하세요.

  5. 리포지토리의 .github/workflows 하위 폴더에 deploy.yml 파일을 생성하세요.

  6. 다음 워크플로 구성을 추가하세요.

    .github/workflows/deploy.yml
    name: Deploy to Juno
    on:
    workflow_dispatch:
    push:
    branches: [main]
    jobs:
    deploy:
    runs-on: ubuntu-latest
    steps:
    - name: Check out the repo
    uses: actions/checkout@v4
    - uses: actions/setup-node@v4
    with:
    node-version: 24
    registry-url: "https://registry.npmjs.org"
    - name: Install Dependencies
    run: npm ci
    - name: Deploy to Juno
    uses: junobuild/juno-action@main
    with:
    args: hosting deploy
    env:
    JUNO_TOKEN: ${{ secrets.JUNO_TOKEN }}
  1. CLI를 설치하세요.

    터미널 창
    npm i -g @junobuild/cli
  2. CLI를 인증하세요. 그러면 Juno Console이 열립니다.

    터미널 창
    juno login
  3. 브라우저 창에서 Authorize를 클릭하여 권한을 부여하세요.

  4. 사이트를 배포하세요.

    터미널 창
    juno hosting deploy

준비된 Astro 템플릿으로 웹사이트를 빠르게 구성하세요.

터미널 창
npm create juno@latest -- --template astro-starter

더 많은 배포 가이드

기여하기 커뮤니티 후원하기