Reviewing and inventorying an existing Jenkins controller, jobs, agents, plugins, and credentials to plan migration to GitHub Actions or other CI platforms
Before migrating pipelines or running migrations, perform a focused review of the existing Jenkins controller, its job types, agents, plugins, and credentials. This helps identify compatibility issues, credentials that must be re-created, and any agent configuration needed when migrating to GitHub Actions or other CI platforms.I’m running Jenkins on a VM reachable at http://139.84.149.70:8080 and the controller version is 2.504.1. The instance hosts roughly four projects of mixed types (Freestyle, Declarative Pipeline, Scripted Pipeline) with various triggers (poll-based and SCM-based).Here’s the Jenkins process observed on the host (Java flags shown):
In this environment the controller is not configured for HTTPS agent communication, so the agent is launched manually using the agent JAR. On the agent host:
# Download the agent jar from the controllercurl -sO http://139.84.149.70:8080/jnlpJars/agent.jar# Store the agent secret in a file (replace with the real secret, securely)echo "REPLACE_WITH_AGENT_SECRET" > secret-file# Start the agent using the secret stored in a filejava -jar agent.jar -url http://139.84.149.70:8080/ -secret @secret-file -name "us-west-1-ubuntu-22" -webSocket -workDir "/home/jenkins-agent"
Never commit agent secrets, API tokens, or other credentials into source control. Use credential managers, secret stores, or environment-specific secret injection. Limit token scope and expiry.
After starting the agent it should connect and report a single executor, its remote root directory, and labels. Jobs targeting the agent label will run on this node.
Tip: Inventory every credential referenced by jobs (check pipeline scripts and Freestyle build steps). Use a spreadsheet or small manifest to record each credential name, where it’s used, required scope, and a recommended replacement in the target CI.
The controller is a standard Jenkins installation with one connected agent (and one offline agent at audit time).
Key tools and plugins (Node.js installer, Dependency-Check, Docker) are in use; some plugins show available updates.
Credentials and API tokens exist and will need to be re-created in the target CI. Do not migrate secrets directly—use secure secret tooling and rotate credentials after migration.
Next: inspect each project in turn, run representative builds to validate behavior, then begin mapping pipeline steps to GitHub Actions workflows or the target CI solution.