콘텐츠로 이동

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로 바꾸세요.

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(명령줄 인터페이스)를 사용하여 배포할 수 있습니다.

GitHub Actions 배포

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

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

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

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

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

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

    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 }}

CLI 배포

  1. CLI를 설치하세요.

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

    juno login

    :::tip액세스 토큰은 터미널을 식별하는 데 사용됩니다. 그렇기 때문에 CLI에서 비밀번호로 암호화할 것인지 묻는 것입니다.보안상의 이유로 그렇게 하는 것이 좋습니다.:::

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

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

    juno hosting deploy

가이드

예시

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

 npm create juno@latest -- --template astro-starter

더 많은 배포 가이드

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