Production checklist
- My
cssXX.dashboards_store
is using Git - The dashboards iI have deployed are versionned in
cssXX.dashboards_store
. - Pushing to
cssXX.dashboards_store
triggers 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
cronjob
or thecore.dashboards_store/tooling/depechecode/DAG.py
DAG.
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_store
packages.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.