CDNで静的ファイルをホスティングする
フロントエンドの静的リソース、例えば.jsや.cssファイルはweb/build/static/
に位置しています。 これらのファイルをパブリッククラウドのCDNサービスでデプロイしたい場合、Casdoorはデプロイプロセスを簡素化するスクリプトを提供しています。 以下の手順に従ってください。
注
Casdoorのフロントエンドコードが既にビルドされていることを前提としています。 まだの場合は、ドキュメントを参照してください。
準備
まず、Casdoor UIで有効なストレージプロバイダーを作成する必要があります。 例を参照できます。
注意
Domain
フィールドを入力する際には、必ず'/'で終わるようにしてください。
使用法
スクリプトは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を通じて要求されます。