본문으로 건너뛰기
cccskills
무료GitHub에 공개

circleci-pro

CircleCI guidance — config design, orbs, caching, workflows, contexts, and pipeline optimization.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구Docker
설치 방법 보기

포함된 파일(1)

  • SKILL.md6.1 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Overview

CircleCI is a cloud-native CI platform: YAML configs (.circleci/config.yml), Docker-based executors, orbs for reusable configuration, and workflows orchestrating jobs. It's known for fast Docker-layer caching, a polished UI, and strong parallelism — a solid choice for teams wanting managed CI without GitHub lock-in.

The keys to CircleCI: lean configs via orbs and executors, aggressive caching and parallelism, and contexts for secret scoping. This skill covers designing efficient CircleCI pipelines.

When to use

  • Setting up CI/CD on CircleCI.
  • Designing configs (jobs, workflows, executors, orbs).
  • Speeding up builds (caching, parallelism, Docker layer caching).
  • Managing secrets with contexts.
  • Deploying from CircleCI (approvals, OIDC).
  • Optimizing credit consumption.
  • Migrating to/from CircleCI.

Core concepts

  • Jobs and workflows. Jobs are the unit of work (steps on an executor); workflows orchestrate jobs with dependencies (requires), filters (branches/tags), and approval gates.
  • Executors. Docker (container per job, most common), machine (full VM), macOS, Windows. Docker executors are fast and isolated; machine executors for Docker-in-Docker or privileged needs.
  • Orbs. Versioned reusable config packages (node, aws-cli, browser-tools) — the DRY mechanism. Pin orb versions; prefer official/verified orbs; write your own for org patterns.
  • Caching. save_cache/restore_cache keyed on lockfile checksums with fallback keys; dependency caches, not build outputs (use workspaces/artifacts for those). Cache invalidation via key changes.
  • Workspaces. persist_to_workspace/attach_workspace pass files between jobs in a workflow — the handoff mechanism (unlike caches, workspaces are guaranteed).
  • Parallelism. parallelism: 4 splits a job across containers with $CIRCLE_NODE_INDEX — combine with test splitting (circleci tests split) for big suites.
  • Docker layer caching (DLC). Speeds Docker builds by caching image layers — a paid feature worth it for heavy Docker workflows; without it, multi-stage builds re-run every time.
  • Contexts. Named secret groups with environment restrictions — the scoping mechanism for production credentials. Restrict contexts to protected branches.
  • Approval jobs. Manual gates in workflows (type: approval) before production deploys — with restricted contexts for the jobs after them.
  • Filters. Branch/tag filters per workflow job — control what builds when (e.g., deploy only on main, skip docs-only changes with path filtering via dynamic config).
  • Dynamic config. setup workflows generating config at runtime — the monorepo path-filtering pattern (only build changed components).
  • OIDC. OpenID Connect tokens for cloud auth without stored secrets — configure the trust once per context.
  • Test splitting. circleci tests glob + split --split-by=timings distributes tests by historical duration — the way to parallelize suites efficiently.
  • Insights. Build duration, queue times, credit consumption per workflow — the data for optimization.
  • Self-hosted runners. For compliance, special hardware, or private networks — with the operational overhead that implies.

Practical workflow

  1. Structure the config. Versioned orbs, reusable executors/commands, workflows per purpose (CI vs release).
    version: 2.1
    orbs: { node: circleci/node@5.1.0 }
    executors:
      node-exec: { docker: [{ image: cimg/node:22.0 }] }
    
  2. Cache dependencies. Restore keyed on lockfile checksum, save on miss; fallback keys for partial hits.
    steps:
      - restore_cache: { keys: [npm-v1-{{ checksum "package-lock.json" }}, npm-v1-] }
      - run: npm ci
      - save_cache: { key: npm-v1-{{ checksum "package-lock.json" }}, paths: [~/.npm] }
    
  3. Parallelize tests. parallelism + timing-based test splitting; JUnit output for flaky-test insights.
  4. Pass artifacts via workspaces. Build once, persist to workspace, attach in downstream jobs (test, scan, deploy) — never rebuild per job.
  5. Gate deployments. Workflows with branch filters, approval jobs for production, restricted contexts holding prod secrets, OIDC for cloud auth.
    workflows:
      build-deploy:
        jobs:
          - build
          - hold: { type: approval, requires: [build], filters: { branches: { only: main } } }
          - deploy-prod: { requires: [hold], context: prod }
    
  6. Use dynamic config for monorepos. Path-filtering setup workflow generating per-component configs — only build what changed.
  7. Optimize credits. Right-size resource classes, DLC only where it pays, cancel redundant builds, schedule-based cleanup of old workflows.
  8. Monitor with Insights. Track duration/credit trends per workflow; set team budgets; investigate regressions by attributing to config changes.

Common pitfalls

  • Cache instead of workspaces — relying on best-effort cache for build handoff; workspaces for guarantees.
  • No test splitting — parallelism without splitting = duplicated full suites; use timings-based splitting.
  • Unpinned orbs — floating orb versions breaking configs; pin versions.
  • Contexts too broad — prod secrets available to all branches; restrict contexts.
  • Missing approval gates — auto-deploy to production; approval jobs for prod.
  • Static cloud keys — long-lived credentials in contexts; OIDC instead.
  • No DLC for Docker-heavy builds — rebuilding layers every run; enable DLC where it pays.
  • Oversized resource classes — paying for xlarge everywhere; right-size per job.
  • Redundant builds — every push building everything; auto-cancel + path filtering.
  • Secrets in config — hardcoded values in YAML; contexts only.
  • Ignoring Insights — credit burn invisible; monitor per-workflow consumption.
  • Monolith config — one giant config.yml; orbs, commands, and dynamic config for structure.
  • No workflow timeouts — hung jobs burning credits; set timeouts.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Master 1Password: vaults, Watchtower, passkeys, SSH agent, CLI, and family/team administration. Use when getting full value from 1Password personally or administering it for others.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

aicodedecode/awesome-muse-skills242026년 10월 10일 업데이트

Create 3D visuals with modeling, texturing, lighting, rendering, and optimization for web and product.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

aicodedecode/awesome-muse-skills242026년 10월 10일 업데이트

Create 3D web experiences: scene setup, models, materials, lighting, animation, scroll-driven scenes, and performance budgets. Use when adding 3D to websites beyond basic demos.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

aicodedecode/awesome-muse-skills242026년 10월 10일 업데이트

Writing abstracts that get papers read — structured content, the 5-sentence core, and journal-specific constraints.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

aicodedecode/awesome-muse-skills242026년 10월 10일 업데이트

Learn effectively from courses and academies: choosing programs, studying actively, and converting courses into skills. Use when investing time/money in structured learning.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

aicodedecode/awesome-muse-skills242026년 10월 10일 업데이트

Audit designs for accessibility with WCAG checklists covering color, type, focus, motion, and content.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

aicodedecode/awesome-muse-skills242026년 10월 10일 업데이트

aicodedecode의 스킬 모두 보기

이 스킬의 문제 신고