The Build & Deploy scanner detects CI/CD systems, containerization, and infrastructure-as-code across your workspace. This intelligence supports DevOps assessments, platform migrations, and compliance audits.
Detection Categories
CI/CD Platforms
| Platform | Detection Files |
|---|---|
| GitHub Actions | .github/workflows/*.yml |
| GitLab CI | .gitlab-ci.yml |
| Azure DevOps | azure-pipelines.yml, .azure-pipelines/ |
| Jenkins | Jenkinsfile, jenkins/ |
| CircleCI | .circleci/config.yml |
| Travis CI | .travis.yml |
| Bitbucket Pipelines | bitbucket-pipelines.yml |
Containerization
| Technology | Detection Files |
|---|---|
| Docker | Dockerfile, Dockerfile.* |
| Docker Compose | docker-compose.yml, compose.yml |
| Kubernetes | k8s/, *.k8s.yml, deployment.yml |
| Helm | Chart.yaml, values.yml |
| Skaffold | skaffold.yaml |
Infrastructure as Code
| Platform | Detection Files |
|---|---|
| Terraform | *.tf, .terraform/ |
| Bicep | *.bicep |
| CloudFormation | template.yml, cloudformation/ |
| Pulumi | Pulumi.yaml, Pulumi.*.yaml |
| CDK | cdk.json |
| SST | sst.config.ts |
Release & Versioning
| Tool | Detection Files |
|---|---|
| Changesets | .changeset/config.json |
| semantic-release | .releaserc, release.config.js |
| GitVersion | GitVersion.yml |
| Lerna | lerna.json |
| Release Please | release-please-config.json |
Package Managers & Monorepo
| Tool | Detection Files |
|---|---|
| pnpm | pnpm-workspace.yaml |
| npm workspaces | package.json with workspaces |
| Yarn workspaces | package.json with workspaces |
| Turborepo | turbo.json |
| Nx | nx.json, project.json |
Use Cases
Platform Migration Assessment
Before migrating CI/CD platforms:
vg scan --format json | jq '.buildDeploy.ci'
Identify:
- Number and complexity of workflows
- Platform-specific features used
- Secrets and variables required
Security Audit
Verify expected infrastructure patterns:
vg scan --format json | jq '.buildDeploy | {ci, iac, containers}'
Multi-Repo Analysis
Across multiple repositories, aggregate to find:
- Inconsistent CI/CD choices
- Missing containerization
- IaC adoption gaps
Example Output
{
"buildDeploy": {
"ci": {
"platforms": ["github-actions"],
"workflows": [
{
"file": ".github/workflows/ci.yml",
"triggers": ["push", "pull_request"],
"jobs": ["test", "build", "deploy"]
},
{
"file": ".github/workflows/release.yml",
"triggers": ["release"],
"jobs": ["publish"]
}
]
},
"containers": {
"docker": true,
"dockerCompose": true,
"kubernetes": false,
"helm": false,
"dockerfiles": [
{ "path": "Dockerfile", "baseImage": "node:20-alpine" },
{ "path": "Dockerfile.dev", "baseImage": "node:20" }
]
},
"iac": {
"terraform": true,
"bicep": false,
"cloudformation": false,
"files": ["infra/main.tf", "infra/variables.tf"]
},
"release": {
"tool": "changesets",
"configFile": ".changeset/config.json"
},
"monorepo": {
"tool": "turborepo",
"workspaces": ["apps/*", "packages/*"]
},
"packageManager": {
"name": "pnpm",
"version": "8.14.0"
}
}
}