GitLab Pages public 폴더
가장 일반적인 정적 사이트 생성기의 빌드 출력 폴더를 구성하는 방법을 알아봅니다.
히스토리 GitLab 16.1에서 .gitlab-ci.yml 에 게시 폴더 구성 지원이 도입됨. 이제 프레임워크 구성을 변경할 필요가 없습니다. 자세한 내용은 Pages와 함께 배포할 사용자 정의 폴더 설정 을 참조하세요. 다음 프레임워크에 대한 public 폴더를 구성하려면 이 지침을 따릅니다. Eleventy # Eleventy의 경우 다음 중 하나를 수행합니다: Eleventy 빌드 명령에 --output=public 플래그를 추가합니다. 예: npx @11ty/eleventy --input=path/to/sourcefiles --output=public .eleventy.js 파일에 다음을 추가합니다: // .eleventy.js module . exports = function ( eleventyConfig ) { return { dir : { output : "public" } } }; Astro # 기본적으로 Astro는 정적 에셋을 저장하는 데 public 폴더를 사용합니다. GitLab Pages의 경우 먼저 해당 폴더 이름을 충돌이 없는 대안으로 변경합니다: 프로젝트 디렉토리에서 다음을 실행합니다: mv public static 이름이 변경된 폴더에 대해 Astro를 구성하려면 astro.config.mjs 에 다음을 추가합니다: // astro.config.mjs import { defineConfig } from 'astro/config' ; export default defineConfig ({ // GitLab Pages는 노출된 파일이 "public"이라는 폴더에 위치해야 합니다. // 이 설정은 Astro가 해당 이름의 폴더에 정적 빌드 출력을 배치하도록 합니다. outDir : 'public' , // Astro가 정적 파일에 사용하는 폴더 이름(`public`)은 이미 // 빌드 출력을 위해 예약되어 있습니다. 대신 `static`이라는 폴더를 사용합니다. publicDir : 'static' , }); SvelteKit # Note GitLab Pages는 정적 사이트만 지원합니다. SvelteKit의 경우 adapter-static 을 사용할 수 있습니다. adapter-static 을 사용할 때 svelte.config.js 에 다음을 추가합니다: // svelte.config.js import adapter from '@sveltejs/adapter-static' ; export default { kit : { adapter : adapter ({ pages : 'public' }) } }; Next.js # Note GitLab Pages는 정적 사이트만 지원합니다. Next.js의 경우 Next의 정적 HTML 내보내기 기능 을 사용할 수 있습니다. Next.js 13 의 출시로 Next.js 작동 방식이 많이 변경되었습니다. 모든 정적 에셋을 올바르게 내보낼 수 있도록 다음 next.config.js 를 사용해야 합니다: /** @type { import('next').NextConfig }
