55 lines
1.3 KiB
YAML
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
|