How to migrate from CircleCI to Buddy (2026)
Moving off CircleCI is mostly a mapping exercise: the same concepts exist in Buddy, just authored visually instead of in YAML. Here's a practical, low-risk path that keeps both running until you're confident.
The migration in five moves:
- 1. Connect your repo to Buddy.
- 2. Recreate each job as a pipeline action (no YAML porting).
- 3. Move variables in as encrypted Buddy variables — and rotate them.
- 4. Run both in parallel on a branch and compare.
- 5. Switch over and retire
.circleci/config.yml.
Concept mapping
CircleCI concepts → Buddy
| CircleCI | In Buddy |
|---|---|
job | A pipeline action (or a few actions) |
workflow | A pipeline — its action order & conditions |
executor / Docker image | The action's runner / Docker image |
| orb | A prebuilt action or custom script action |
| context / env vars | Encrypted Buddy variables (workspace/project/pipeline) |
| workspace / cache | Built-in pipeline cache & filesystem between actions |
| triggers (branch filters) | Pipeline trigger mode + branch/condition settings |
Step by step
The migration, in order
Connect the repository
Add your project from GitHub, GitLab or Bitbucket to Buddy. Buddy reads the repo so actions can build straight from your branches.
Recreate jobs as actions
For each CircleCI job, add the matching Buddy action (build, test, Docker, deploy…). Reuse prebuilt actions where you had orbs; drop to a script action for anything custom.
Order them like your workflow
Arrange actions to mirror your CircleCI workflow — sequential steps, parallel branches and conditions — using the visual editor.
Move & rotate variables
Add environment variables as encrypted Buddy variables. Generate fresh tokens rather than copying old ones — a clean break from anything exposed in the past.
Run in parallel, then cut over
Trigger both pipelines on the same branch, compare results until Buddy is green and matches, then switch your default branch and remove .circleci/config.yml.
Don't skip this
Rotate secrets as you move
After CircleCI's January 2023 breach, the guidance was to rotate every secret stored on the platform. A migration is the ideal moment to act on that: instead of exporting tokens from CircleCI and pasting them into Buddy, generate new credentials at the source (cloud provider, registry, deploy target) and store only the fresh values as encrypted Buddy variables. You end up with a clean secret inventory and nothing carried over from a system you're leaving.
Keep reading
Related CircleCI guides
Common questions
Frequently asked
How do I migrate from CircleCI to Buddy?
At a high level: connect your repository to Buddy, recreate each CircleCI job as a Buddy pipeline action, set the pipeline's trigger and action order to match your workflows, move environment variables in as encrypted Buddy variables (rotating them as you go), then run the pipeline on a branch and compare against CircleCI before switching over.
Do CircleCI jobs map to something in Buddy?
Yes. A CircleCI job maps to one or more Buddy pipeline actions, a CircleCI workflow maps to a Buddy pipeline (the order and conditions of its actions), executors map to Buddy's runner/Docker image choice, and orbs are replaced by Buddy's prebuilt actions or a custom script action.
Do I have to rewrite my config.yml?
No — Buddy is a visual editor, so instead of translating .circleci/config.yml line by line you rebuild the pipeline by adding actions in the UI. That's usually faster than porting YAML, and the result can be exported back to YAML for version control.
What about my CircleCI secrets?
Treat the migration as a chance to rotate. Rather than copying tokens out of CircleCI, generate fresh credentials and add them as encrypted variables in Buddy. This is especially worth doing given CircleCI's 2023 incident, after which all stored secrets were meant to be rotated anyway.
Can I run Buddy and CircleCI in parallel during migration?
Yes, and it's recommended. Keep CircleCI running while you rebuild in Buddy, trigger both on the same branch, and compare results. Once the Buddy pipeline is green and matches, switch your default branch over and retire the CircleCI config.