라즈베리파이 및 엣지 디바이스를 위한 Git push 기반 배포 플랫폼
pushboard는 GitHub에 코드를 push하면
라즈베리파이와 같은 엣지 디바이스에 자동으로 배포 및 실행되는
경량 CI/CD 및 배포 시스템입니다.
로봇, IoT, 엣지 AI 환경에서 Docker나 복잡한 배포 도구 없이 git push만으로 코드가 실행되도록 하는 것이 목표입니다.
웹 개발자는 Vercel, Netlify를 사용하지만 로봇과 엣지 디바이스에는 그런 도구가 없습니다.
엣지 디바이스는 다음과 같은 문제를 가집니다:
- NAT 뒤에 있어 외부 접근이 어려움
- IP가 자주 바뀜
- 원격 접속이 제한적
- 전원 차단이 빈번함
- 업데이트 실패 시 복구가 어려움
pushboard는 GitHub Actions + AWS 저장소 + MQTT를 이용해 이 문제를 해결합니다.
개발자
|
git push
|
GitHub Actions
|
빌드 및 패키징
|
AWS 저장소(S3 등)
|
제어 서버(Control Plane)
|
MQTT
|
엣지 디바이스 (Raspberry Pi)
|
다운로드 → 검증 → 실행
-
GitHub Actions 코드 빌드 및 패키징
-
AWS 저장소 배포 아티팩트 저장
-
제어 서버 (Control Plane) 버전 관리 및 배포 지시
-
MQTT 브로커 디바이스와 서버 간 통신
-
pushboard Agent 디바이스에서 실행되며 파일 다운로드, 검증, 실행 수행
- 개발자가 GitHub에 코드 push
- GitHub Actions가 빌드 및 패키징
- 결과물을 AWS 저장소에 업로드
- 제어 서버가 MQTT로 디바이스에 배포 지시
- 디바이스가 파일 다운로드 및 검증
- 새로운 버전 실행
- 상태 및 결과를 서버에 보고
- Docker 없이 사용 가능
- NAT 환경에서도 동작
- 안전한 원자적 업데이트
- 롤백 가능
- 저사양 장치 지원
- 단순한 개발자 경험
⚠ 본 프로젝트는 초기 개발 단계입니다.
v0.1 목표:
- 단일 레포지토리
- 단일 라즈베리파이
- Python 기반 에이전트
- GitHub Actions → AWS → MQTT → 디바이스 흐름 구현
v0.2 목표:
- 디바이스 상태 확인
- 실행 중인 버전 조회
- 수동 롤백 기능
오픈소스로 배포 예정 (추후 확정)