Hospedagem de Arquivos Estáticos em um CDN
Recursos estáticos do frontend, como arquivos .js e .css, estão localizados em web/build/static/
. Se você deseja implantar esses arquivos no serviço de CDN de uma nuvem pública, o Casdoor fornece um script que simplifica o processo de implantação. Por favor, siga os passos abaixo.
Presumimos que você já construiu o código frontend do Casdoor. Se não o fez, por favor, consulte a documentação.
Preparação
Primeiro, você precisa criar um Provedor de Armazenamento válido na UI do Casdoor. Você pode se referir ao exemplo.
Ao preencher o campo Domain
, certifique-se de terminá-lo com uma '/'.
Uso
O script pode ser encontrado em deployment/deploy_test.go.
Em deploy_test.go, você precisa modificar o parâmetro id
em GetProvider()
. O formato do id
do provedor é <owner>/<name>
.
func TestDeployStaticFiles(t *testing.T) {
provider := object.GetProvider("admin/provider_storage_aliyun_oss")
deployStaticFiles(provider)
}
Após fazer a modificação necessária, use os seguintes comandos para executar o script:
cd deployment
go test
Se a execução for bem-sucedida, você verá:
PASS
ok github.com/casdoor/casdoor/deployment 2.951s
Como funciona
O script irá:
- Faça o upload de todos os arquivos nas pastas
css/
ejs/
para o serviço de CDN especificado pelo provedor de armazenamento. - Substitua todas as URLs dos arquivos
.css
e.js
emweb/build/index.html
pelas URLs hospedadas no CDN.
Você ainda precisa manter o arquivo index.html
. Após os arquivos estáticos serem carregados para o CDN, index.html
ainda será solicitado pelos usuários através do backend Go do Casdoor, e os arquivos estáticos no CDN serão solicitados através das URLs fornecidas em index.html
.