https://quantropi.github.io/cicd_dashboard/
This repository hosts the CI/CD Dashboard, an integrated dashboard for tracking the progress and results of continuous integration and deployment pipelines.
The CI/CD Dashboard provides a centralized view of the workflows and their statuses across different repositories. It aims to enhance visibility and monitoring capabilities for development teams, ensuring timely feedback on the build and deployment processes.
- Real-Time Updates: The dashboard updates in real-time as new data is received from various CI/CD processes.
- Workflow Tracking: Track the status and results of each workflow execution.
- Error Logging: Quickly view and investigate errors and failures within your CI/CD pipelines.
To set up the CI/CD Dashboard, clone this repository and follow the setup instructions outlined below:
- Node.js (v18 or later)
- GitHub account with access to Actions
-
Clone the repository:
git clone https://github.com/quantropi/cicd_dashboard.git cd cicd_dashboard
-
Install dependencies:
npm install
-
Start the dashboard server:
npm start
The dashboard can be accessed via a web browser at http://localhost:3000 after starting the server.
To integrate other workflows with this dashboard, use the provided GitHub Actions job template. This template includes steps to send workflow results to the dashboard for visualization and monitoring.
This job should be included in any GitHub Actions workflow where you want to report the results back to the CI/CD Dashboard.
send-results-to-dashboard:
runs-on: ott-ubuntu-latest
if: always()
steps:
- name: Send results to dashboard
env:
REPO_NAME: ${{ github.repository }}
run: |
REPO_NAME="${REPO_NAME#*/}" # Bash to remove the owner part from the repo name
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.ACCESS_DEVOPS_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/quantropi/cicd_dashboard/dispatches \
-d '{
"event_type": "data_process",
"client_payload": {
"id": "${{ github.run_id }}",
"repo": "'"$REPO_NAME"'",
"isqa": false,
"test_result": "",
"s3_urls": ""
}
}'
Make sure to secure your GitHub secrets and environmental variables properly to prevent unauthorized access to your dashboard and repositories.