Astro 사이트를 Juno에 배포하기
Juno는 자체 호스팅의 개인 정보 보호 및 제어 기능을 통해 정적 웹사이트를 호스팅하고, 웹 애플리케이션을 빌드하고, 서버리스 함수를 실행할 수 있는 오픈 소스 서버리스 플랫폼입니다.
컨테이너 생성하기
Juno Console에 로그인하세요.
런치패드에서 Launch a new satellite 버튼(프로젝트 컨테이너)을 클릭하세요.
name을 입력하고 Website를 선택하세요.
Create a Satellite으로 확인하세요.
그러면 플랫폼에서 리소스를 프로비저닝합니다.
프로세스가 완료되면 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 배포
Satellite 개요에서 Setup 탭으로 이동하세요.
Add an access key를 클릭하세요.
기본 옵션으로 새 키를 생성하세요. Submit을 클릭하세요.
성공적으로 생성되면 Secret token이 표시됩니다. 값을 복사하여 GitHub 리포지토리 또는 조직에 암호화된 비밀로 저장하세요. 이때 키는
JUNO_TOKEN을 사용하세요.리포지토리의
.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 }}
CLI 배포
CLI를 설치하세요.
npm i -g @junobuild/clipnpm add -g @junobuild/cliyarn global add @junobuild/cliCLI를 인증하세요. 그러면 Juno Console이 열립니다.
juno login:::tip액세스 토큰은 터미널을 식별하는 데 사용됩니다. 그렇기 때문에 CLI에서 비밀번호로 암호화할 것인지 묻는 것입니다.보안상의 이유로 그렇게 하는 것이 좋습니다.:::
브라우저 창에서 Authorize를 클릭하여 권한을 부여하세요.
사이트를 배포하세요.
juno hosting deploy
가이드
예시
준비된 Astro 템플릿으로 웹사이트를 빠르게 구성하세요.
npm create juno@latest -- --template astro-starter
pnpm create juno -- --template astro-starter
yarn create juno -- --template astro-starter