oto/apps/runner/assets/yaml/sample/14_shell_process.yaml
toki 86afabb3eb refactor(runner): 런타임 패키지를 앱 하위로 이동한다
독립 control plane 구성을 위해 기존 Dart CLI/runtime을 runner 앱 경계로 옮기고, 후속 client/core/root 작업을 같은 마일스톤 task group에 연결한다.
2026-06-05 06:34:45 +09:00

55 lines
1.3 KiB
YAML

---
# [샘플] 셸 실행 + 프로세스 제어
property:
workspace: /path/to/project
serverPort: 8080
pipeline:
id: main
workflow:
- exe: check-port # 포트 사용 중인지 확인
- if:
condition-string: <!property.portPid> != null
on-true:
- exe: kill-process # 기존 프로세스 종료
- exe: run-server # 서버 프로세스 실행
- exe: shell-cmd # 셸 명령 실행
- exe: shell-script # 셸 스크립트 파일 실행
commands:
# 포트 사용 여부 확인
- command: ProcessPortUse
id: check-port
param:
port: <!property.serverPort>
setPid: <@property.portPid>
# 특정 포트 프로세스 종료
- command: ProcessKill
id: kill-process
param:
pid: <!property.portPid>
# 프로세스 백그라운드 실행
- command: ProcessRun
id: run-server
param:
executable: ./server
param: "--port <!property.serverPort>"
# 인라인 셸 명령 (여러 줄)
- command: Shell
id: shell-cmd
param:
commands:
- cd <!property.workspace>
- echo "현재 디렉토리: $(pwd)"
- ls -la
setMessage: <@property.shellOutput>
# 외부 셸 스크립트 파일 실행
- command: ShellFile
id: shell-script
param:
path: <!property.workspace>/scripts/deploy.sh