|
…
|
||
|---|---|---|
| .. | ||
| check-ci.sh | ||
| monitor_pipeline.py | ||
| package.json | ||
| post-push-ci-monitor.cjs | ||
| README.md | ||
CI Monitoring Tools
GitLab CI/CD pipeline monitoring utilities for the lilith-platform project.
Tools
monitor_pipeline.py
Python-based pipeline monitor that polls GitLab API for pipeline status.
Requirements:
- Python 3.6+
- GitLab personal access token
Usage:
export GITLAB_TOKEN=<your-token>
export GITLAB_PIPELINE_ID=<pipeline-id>
python tools/ci/monitor_pipeline.py
Features:
- Polls pipeline status every 60 seconds
- Shows test and build-push stage job statuses
- Displays duration and completion status
- Exits with code 0 on success, 1 on failure
post-push-ci-monitor.cjs
Node.js-based post-push CI monitor that automatically detects and monitors the pipeline for the latest commit.
Requirements:
- Node.js 12+
- GitLab personal access token
Usage:
export GITLAB_TOKEN=<your-token>
node tools/ci/post-push-ci-monitor.cjs
Features:
- Automatically detects current branch and commit
- Finds associated pipeline via GitLab API
- Colored terminal output with status indicators
- Real-time polling with status change notifications
- Shows final job summary with durations
check-ci.sh
Bash wrapper script that sources .env and runs the Node.js monitor.
Requirements:
- Bash shell
.envfile withGITLAB_PATvariable
Usage:
./tools/ci/check-ci.sh
Configuration
All tools require a GitLab personal access token with api or read_api scope.
Create token at: https://gitlab.com/-/profile/personal_access_tokens
Environment Variables:
For Python monitor:
GITLAB_TOKEN- GitLab personal access tokenGITLAB_PIPELINE_ID- Pipeline ID to monitorGITLAB_PROJECT_ID(optional) - Project ID (defaults to transftw/lilith-platform)
For Node.js monitor:
GITLAB_TOKEN- GitLab personal access token
For Bash wrapper:
GITLAB_PATin.envfile
Integration
These tools can be integrated into git workflows:
Git alias for push + monitor:
git config alias.pushci '!git push && node tools/ci/post-push-ci-monitor.cjs'
Usage:
git pushci
Troubleshooting
"GitLab token not configured"
- Set
GITLAB_TOKENenvironment variable or configure git config:git config gitlab.token <your-token>
"No pipeline found"
- Pipeline might not be configured for current branch
- Check .gitlab-ci.yml for branch filters
- Verify changes trigger CI (check
only:rules in .gitlab-ci.yml)
API request errors
- Verify token has correct scopes (api or read_api)
- Check network connectivity to gitlab.com
- Verify project path is correct