Saltar al contenido principal

Hosting de Archivos Estáticos en un CDN

Los recursos estáticos del frontend, como los archivos .js y .css, se encuentran en web/build/static/. Si deseas desplegar estos archivos en el servicio CDN de una nube pública, Casdoor proporciona un script que simplifica el proceso de despliegue. Por favor, sigue los pasos a continuación.

nota

Suponemos que ya has construido el código del frontend de Casdoor. Si no lo has hecho, por favor consulta la documentación.

Preparación

Primero, necesitas crear un Proveedor de Almacenamiento válido en la interfaz de usuario de Casdoor. Puedes referirte al ejemplo.

precaución

Al completar el campo Domain, asegúrate de terminarlo con un '/'. storage_domian

Uso

El script se puede encontrar en deployment/deploy_test.go.

En deploy_test.go, necesitas modificar el parámetro id en GetProvider(). El formato del id del proveedor es <owner>/<name>.

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

Después de hacer la modificación necesaria, usa los siguientes comandos para ejecutar el script:

cd deployment
go test

Si la ejecución es exitosa, verás:

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

Cómo funciona

El script hará:

  • Sube todos los archivos en las carpetas css/ y js/ al servicio CDN especificado por el proveedor de almacenamiento.
  • Reemplaza todas las URLs de los archivos .css y .js en web/build/index.html con las URLs alojadas en el CDN.

Todavía necesitas mantener el archivo index.html. Después de que los archivos estáticos sean subidos al CDN, index.html seguirá siendo solicitado por los usuarios a través del backend de Go de Casdoor, y los archivos estáticos en el CDN serán solicitados a través de las URLs proporcionadas en index.html.