메인 콘텐츠로 건너뛰기

CDN에서 정적 파일 호스팅하기

프론트엔드 정적 리소스, 예를 들어 .js 및 .css 파일들은 web/build/static/에 위치해 있습니다. 이러한 파일들을 공개 클라우드의 CDN 서비스에 배포하려는 경우, Casdoor는 배포 과정을 단순화하는 스크립트를 제공합니다. 아래의 단계를 따라주세요.

노트

당신이 이미 Casdoor의 프론트엔드 코드를 빌드했다고 가정합니다. 만약 그렇지 않다면, 문서를 참조해주세요.

준비

먼저, Casdoor UI에서 유효한 스토리지 제공자를 생성해야 합니다. 예시를 참조할 수 있습니다.

주의

Domain 필드를 채울 때, 반드시 '/'로 끝내야 합니다. storage_domian

사용법

스크립트는 deployment/deploy_test.go에서 찾을 수 있습니다.

deploy_test.go에서, GetProvider()id 매개변수를 수정해야 합니다. 제공자 id의 형식은 <owner>/<name>입니다.

func TestDeployStaticFiles(t *testing.T) {
provider := object.GetProvider("admin/provider_storage_aliyun_oss")
deployStaticFiles(provider)
}

필요한 수정을 한 후, 다음 명령어를 사용하여 스크립트를 실행하세요:

cd deployment
go test

실행이 성공적이면, 다음을 볼 수 있습니다:

PASS
ok github.com/casdoor/casdoor/deployment 2.951s

작동 원리

스크립트는 다음을 수행합니다:

  • css/js/ 폴더의 모든 파일을 스토리지 제공자가 지정한 CDN 서비스에 업로드합니다.
  • web/build/index.html.css.js 파일의 모든 URL을 CDN에 호스팅된 URL로 교체합니다.

index.html 파일을 계속 유지해야 합니다. 정적 파일이 CDN에 업로드된 후에도, index.html은 여전히 Casdoor의 Go 백엔드를 통해 사용자에게 요청되며, CDN의 정적 파일은 index.html에 제공된 URL을 통해 요청됩니다.