ci-integration
Integrate deployment-tracker into CI/CD pipelines. GitHub Actions and GitLab CI workflow examples for automatic deployment logging.
Best use case
ci-integration is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Integrate deployment-tracker into CI/CD pipelines. GitHub Actions and GitLab CI workflow examples for automatic deployment logging.
Teams using ci-integration should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/deploy-cli/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How ci-integration Compares
| Feature / Agent | ci-integration | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Integrate deployment-tracker into CI/CD pipelines. GitHub Actions and GitLab CI workflow examples for automatic deployment logging.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# CI Integration Skill
## When to Use
Use this skill to add automatic deployment logging to your CI/CD pipelines so that every production (or staging) deploy is recorded in deployment-tracker without manual steps.
## GitHub Actions Integration
### Full workflow example
```yaml
# .github/workflows/deploy.yml
name: Deploy
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build and deploy
run: |
# Your existing build and deploy commands here
echo "Deploying ${{ github.sha }}"
- name: Log deployment
if: success()
run: |
npm install -g deploy-tracker
deploy-tracker deploy \
--service ${{ vars.SERVICE_NAME }} \
--version ${{ github.sha }} \
--env production \
--deployer ${{ github.actor }} \
--token ${{ secrets.DEPLOY_TOKEN }} \
--server ${{ vars.DEPLOY_TRACKER_URL }} \
--changelog-url "https://github.com/${{ github.repository }}/commit/${{ github.sha }}"
- name: Log failed deployment
if: failure()
run: |
npm install -g deploy-tracker
deploy-tracker deploy \
--service ${{ vars.SERVICE_NAME }} \
--version ${{ github.sha }} \
--env production \
--deployer ${{ github.actor }} \
--token ${{ secrets.DEPLOY_TOKEN }} \
--server ${{ vars.DEPLOY_TRACKER_URL }} \
--status failed
```
### Required secrets and variables
| Name | Type | Value |
|------|------|-------|
| `DEPLOY_TOKEN` | Secret | Deploy token from deployment-tracker settings |
| `DEPLOY_TRACKER_URL` | Variable | `https://your-tracker.example.com` |
| `SERVICE_NAME` | Variable | e.g. `api-gateway` |
### Using semantic versions instead of commit SHAs
```yaml
- name: Log deployment with version tag
run: |
deploy-tracker deploy \
--service my-app \
--version ${{ github.ref_name }} \
--env production \
--deployer ${{ github.actor }} \
--token ${{ secrets.DEPLOY_TOKEN }}
```
## GitLab CI Integration
```yaml
# .gitlab-ci.yml
stages:
- build
- deploy
- notify
deploy-production:
stage: deploy
script:
- echo "Deploying $CI_COMMIT_SHA"
# Your deploy commands here
log-deployment:
stage: notify
when: always
script:
- npm install -g deploy-tracker
- |
STATUS="success"
if [ "$CI_JOB_STATUS" = "failed" ]; then STATUS="failed"; fi
deploy-tracker deploy \
--service "$SERVICE_NAME" \
--version "$CI_COMMIT_SHA" \
--env production \
--deployer "$GITLAB_USER_LOGIN" \
--token "$DEPLOY_TOKEN" \
--server "$DEPLOY_TRACKER_URL" \
--status "$STATUS" \
--changelog-url "$CI_PROJECT_URL/-/commit/$CI_COMMIT_SHA"
variables:
SERVICE_NAME: my-api
```
## Using curl Instead of the CLI
For environments where installing Node.js packages is undesirable, use curl directly:
```bash
# In your CI script
curl -s -X POST "$DEPLOY_TRACKER_URL/api/deploy" \
-H "Authorization: Bearer $DEPLOY_TOKEN" \
-H "Content-Type: application/json" \
-d "{
\"service\": \"$SERVICE_NAME\",
\"version\": \"$GIT_SHA\",
\"environment\": \"production\",
\"deployer\": \"$CI_USER\",
\"status\": \"success\"
}"
```
## Rollback Logging in CI
```yaml
# GitHub Actions rollback job
rollback:
runs-on: ubuntu-latest
steps:
- name: Rollback via Helm
run: helm rollback my-app 1
- name: Log rollback
run: |
deploy-tracker rollback \
--deployment ${{ inputs.deployment_id }} \
--reason "${{ inputs.reason }}" \
--token ${{ secrets.DEPLOY_TOKEN }} \
--server ${{ vars.DEPLOY_TRACKER_URL }}
```
## Security Notes
- Store `DEPLOY_TOKEN` as an encrypted secret, never as a plain variable.
- Each service should have its own `DEPLOY_TOKEN`; tokens are scoped per service.
- `DEPLOY_TRACKER_URL` should be on an internal network or protected with network-level auth.
- The `ADMIN_TOKEN` should never be used in CI pipelines; only `DEPLOY_TOKEN` is needed for logging.Related Skills
shell-integration
Set up terminal-bookmarks shell integration for interactive bookmark search with a keyboard shortcut. Use when configuring the Ctrl+B keybind widget in zsh, bash, or fish, or when troubleshooting shell integration issues. Triggers include "set up shell widget", "Ctrl+B bookmark", "shell integration", "interactive search keybind", "tbm shell-init".
source-integrations
Set up and maintain GitHub OAuth2 and Slack Bot Token integrations for notification-hub.
weather-integration
Configure and troubleshoot weather-based irrigation skip rules using the Open-Meteo API. Use when asked to set up rain forecast skips, configure rain threshold values, debug why zones are or are not being skipped, check weather cache status, understand skip preview results, or tune skip rule sensitivity for your local climate. Triggers include "skip when rain", "weather threshold", "Open-Meteo", "skip preview", "rain forecast rule", "freeze protection", or any task involving weather-driven irrigation decisions.
Skill: Uptime Monitoring
## Overview
Skill: Status Page
## Overview
Skill: unit-conversion
## Overview
Skill: recipe-scaler
## Overview
reading-list
Operate the reading-list API to save, manage, tag, search, and export articles.
email-digest
Configure, test, and troubleshoot the reading-list daily email digest delivered via nodemailer.
websocket-realtime
Use the WebSocket connection in poll-builder to receive live vote updates. Use when you need to stream real-time poll results, monitor a poll for new votes, or build a live dashboard. Triggers include "live results", "real-time updates", "stream votes", "watch poll", or "WebSocket".
poll-builder
Self-hosted poll creation tool with real-time results. Use when you need to create a poll, check vote counts, close a poll, export results, or get the shareable link for a poll. Triggers include "create poll", "vote", "poll results", "survey", "collect votes", "share poll", or any task involving polling or voting.
Skill: personal-finance
## Overview