Production checklist
- My
cssXX.dashboards_storeis using Git - The dashboards iI have deployed are versionned in
cssXX.dashboards_store. - Pushing to
cssXX.dashboards_storetriggers a CI/CD pipeline that builds a Docker image based on the one fromcore.dashboards_store. My ETL is dockerized. - I run my dockerized ETL using a
cronjobor thecore.dashboards_store/tooling/depechecode/DAG.pyDAG.
Using version control
Version control is a must have when working with a team. It allows you to track changes, revert to previous versions, and collaborate on projects with your team members. We advise you to install and use git in your cssXX.dashboards_store.
Every dashboard you deploy schould be versioned in your cssXX.dashboards_store. This will allow you to track changes and revert to previous versions if needed.
Using pinned dependencies
core.dashboards_store your cssXX.dashboards_store depends on.To pin a specific version, update your cssXX.dashboards_storepackages.yml file with the following snippet :
# cssXX.dashboards_store/packages.yml
packages:
- git: git@github.com:Sciance-Inc/core.dashboards_core_dashboards_store.git
revision: <release_number>Where <release_number> is the version you want to pin to (for instance, v0.7.0+20230926).
Using a CI/CD pipeline
You can build a CI/CD pipeline to automate the deployment of your dashboards. The core.dashboards_store/tooling/depechecode/Dockerfile describes a Docker image packaging the core you can leverage to build the image for your cssXX.dasboard_store.
Deploying to Airflow
The core.dashboards_store/tooling/depechecode/DAG.py file describes a DAG you can leverage to deploy your dashboards to Airflow. You can copy the file in your cssXX.dashboards_store repo and update the DAG object to match your deployment needs.
Alternatively, you can use a cronjob. We advise you to dockerize your ETL anyway to abstract the underlying infrastructure.
