Safeguard
Security Guides•

What should you inventory before migrating off Jenkins or legacy CI?

Before leaving Jenkins or any legacy CI, list jobs, plugins, credentials, agents and shared libraries. A migration inventory checklist with owners.

Safeguard Security Team
3 min read

Before migrating off Jenkins or any legacy CI, inventory five things: jobs and who owns them, plugins and what each does, credentials and where each is used, agents and what runs on them, and shared libraries with their trust level. Skipping any of these is how secrets and duties get lost in the move.

The five lists

ListWhat to captureWhy it matters
JobsName, owner, trigger, last run, what it deploysDead jobs need not move
PluginsName, version, which jobs need itEach one needs an equivalent or a decision to drop
CredentialsID, type, scope, which jobs use it, ageSecrets should be rotated, not copied
AgentsOperating system, tools, labels, user, network accessDefines the runner images you need
Shared librariesRepository, trusted or untrusted, pinned versionTrusted code runs outside the sandbox

Steps

  1. Export what Jenkins knows. Use the plugin list, the credentials page and the job list.
  2. Find the owners. A job with no owner is a candidate for deletion, not migration.
  3. Mark risk. Highlight global credentials, trusted libraries and jobs that run on the built-in node.
  4. Decide per item. Move, rewrite, replace or retire.
  5. Rotate instead of copy. Create new secrets in the target system and revoke the old ones afterward. The Jenkins docs advise changing the underlying credentials frequently anyway.
  6. Run in parallel. Keep the old pipeline running while the new one builds the same commits, and compare outputs.
  7. Cut over per project. Retire the old job only after the new one has passed for a set period.
  8. Decommission the controller. Back up what you need, store the key separately, and remove access.

Hidden duties to look for

  • Jobs that also publish artifacts, send notices or update tickets.
  • Scheduled jobs that someone relies on without knowing.
  • Approvals recorded in script approval that allowed unusual methods.
  • Plugins that enforce rules, such as authorization or job restrictions.
  • Build logs that serve as audit records. Decide how long to keep them and where.

Do not forget the end state

A migration is a chance to improve, not just to copy. Prefer short lived runners, narrowly scoped secrets and a review gate for pipeline changes. For a related look at one target, see migrating from Jenkins to GitHub Actions.

Try it yourself

The demo shows a dependency inventory, a model for the list you need before any move.

Click through it at your own pace, or open it full screen.

Where Safeguard fits

Safeguard does asset discovery, SBOM and dependency scanning, and policy gates on pull requests, which can help confirm the new pipeline checks what the old one did. Try the free scan.

Quick check

Should I copy credentials to the new system?

Prefer creating new secrets and revoking the old ones. Copying carries any earlier exposure with it.

Do all jobs need to migrate?

No. Jobs with no owner and no recent runs are better retired.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.