콘텐츠로 이동
공식 웹사이트로 돌아가기

첫 애플리케이션 배포

JelinaOS의 애플리케이션 배포는 Release를 중심으로 이루어집니다. 애플리케이션을 Release에 정의하여 장치에 배포하면 에이전트가 설치·실행을 자동 완료합니다. 이 페이지는 첫 애플리케이션 배포를 안내합니다.

방법 1: 컨테이너 애플리케이션 배포

섹션 제목: “방법 1: 컨테이너 애플리케이션 배포”

개발 환경에서 애플리케이션을 컨테이너 이미지로 빌드하고 이미지 저장소에 푸시합니다.

Terminal window
docker build -t registry.example.com/demo-app:1.0.0 .
docker push registry.example.com/demo-app:1.0.0

JelinaCloud에서 Release를 생성하고 이미지, 재시작 정책, 포트와 환경 변수 등을 지정하여 컨테이너 애플리케이션을 추가합니다. JelinaCloud Release 생성을 참조하세요.

대상 플릿 또는 장치에 Release를 배포하면 에이전트가 이미지를 자동으로 가져와 실행합니다. 장치에서 확인합니다.

Terminal window
docker ps # 애플리케이션 컨테이너가 실행 중임

방법 2: 네이티브 애플리케이션 배포

섹션 제목: “방법 2: 네이티브 애플리케이션 배포”

스크립트, 바이너리와 의존 파일을 패키징하여 내부 파일 서버 등 장치가 접근할 수 있는 다운로드 주소에 배치합니다.

2단계: Release에서 프로그램 선언

섹션 제목: “2단계: Release에서 프로그램 선언”

JelinaCloud에서 Release를 생성하고 비컨테이너 프로그램(ProgramSet)을 추가한 뒤 프로그램 패키지 다운로드 주소를 지정합니다.

programs:
demo-app:
uri: http://files.example.com/demo-app/run.sh # 프로그램 패키지 다운로드 주소
command: run.sh
running: true
restart: always
environment:
MODE: production

네이티브 패키지 업로드를 포함한 자세한 절차는 JelinaCloud Release 생성을 참조하세요.

Release 배포 후 장치 에이전트가 프로그램을 시스템 서비스로 등록하고 시작합니다.

Terminal window
systemctl list-units 'jelinvisored_*' # 프로그램 서비스가 실행 중임
점검 항목 명령
컨테이너 애플리케이션 상태 docker ps
네이티브 프로그램 서비스 systemctl list-units 'jelinvisored_*'
장치 전체 상태 jelina-info
애플리케이션 로그 docker logs <컨테이너_이름> / journalctl -u <서비스_이름>
  • 업데이트: 클라우드에서 새 버전을 게시·배포하면 장치가 자동 업그레이드됩니다.
  • 롤백: 이전 Release 버전을 다시 지정하면 장치가 이전 버전으로 돌아갑니다.
  • A/B와 Release 체계로 업데이트 과정을 안전하게 제어할 수 있습니다.