본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 16. 21:59

로컬 자동화 러너를 구축했습니다 - 클라우드도, 서버도 없이 오직 YAML과 Python만으로

요약

클라우드나 서버 없이 YAML과 Python만으로 동작하는 로컬 자동화 파이프라인 러너인 Stepyard를 소개합니다. SQLite를 통한 상태 저장, 로그 자동 캡처, 격리된 서브프로세스 실행 기능을 제공합니다.

핵심 포인트

  • YAML 기반의 워크플로우 정의 및 스케줄링 지원
  • Python SDK를 통한 커스텀 노드 작성 가능
  • 가상 환경을 활용한 플러그인 의존성 격리
  • SQLite를 이용한 지속적인 상태 관리 및 로그 캡처

저는 지속적인 상태 (persistent state), 캡처된 로그, 그리고 Python으로 커스텀 스텝 (custom steps)을 작성할 수 있는 기능이 필요한 자동화를 위한 로컬 파이프라인 러너 (pipeline runner)인 Stepyard를 구축했습니다.

Stepyard:

  • 흐름 (flows)은 YAML 파일입니다
  • 각 실행은 격리된 서브프로세스 (subprocess)입니다
  • 로그는 자동으로 캡처됩니다
  • 상태 (state)는 SQLite에 저장됩니다
  • 클라우드 계정이나 서버가 필요하지 않습니다

예시: 야간 백업 (nightly backup)

pip install stepyard
stepyard init my-automations

flows/nightly_backup.yaml:

name: nightly_backup
trigger:
  uses: cron
...

스케줄러 (scheduler) 실행:

stepyard service start

Python 탈출구 (The Python escape hatch)

YAML만으로 충분하지 않다면, Python 노드 (node)를 작성하세요:

from stepyard.sdk import node

@node(name="math.add")
...

그런 다음 YAML에서 사용하세요:

steps:
  - id: sum
    uses: math.add
...

플러그인 (Plugins)은 격리된 가상 환경 (virtualenvs)에서 실행되므로, 해당 의존성 (dependencies)이 Stepyard 자체와 충돌하지 않습니다.

사용해보기

pip install stepyard
stepyard init my-automations && cd my-automations
stepyard run hello

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0