독립 control plane 구성을 위해 기존 Dart CLI/runtime을 runner 앱 경계로 옮기고, 후속 client/core/root 작업을 같은 마일스톤 task group에 연결한다.
85 lines
1.9 KiB
YAML
85 lines
1.9 KiB
YAML
---
|
|
# [샘플] 파일 조작
|
|
|
|
property:
|
|
workspace: /path/to/project
|
|
version: 1.0.0
|
|
|
|
pipeline:
|
|
id: main
|
|
workflow:
|
|
- exe: read-config # 파일 읽기
|
|
- exe: string-replace # 내용 치환
|
|
- exe: write-config # 파일 쓰기
|
|
- exe: copy-release # 복사
|
|
- exe: zip-release # 압축
|
|
- exe: delete-temp # 임시 파일 삭제
|
|
|
|
commands:
|
|
# 파일 전체 내용 읽기 → property 저장
|
|
- command: FileRead
|
|
id: read-config
|
|
param:
|
|
path: <!property.workspace>/config/app.conf
|
|
setContent: <@property.configContent>
|
|
showPrint: false
|
|
|
|
# 문자열 치환
|
|
- command: StringReplace
|
|
id: string-replace
|
|
param:
|
|
text: <!property.configContent>
|
|
pair:
|
|
- from: "VERSION_PLACEHOLDER"
|
|
to: <!property.version>
|
|
- from: "ENV_PLACEHOLDER"
|
|
to: prod
|
|
setValue: <@property.configContent>
|
|
|
|
# 파일에 내용 쓰기
|
|
- command: FileWrite
|
|
id: write-config
|
|
param:
|
|
path: <!property.workspace>/build/app.conf
|
|
content: <!property.configContent>
|
|
|
|
# 파일/디렉토리 복사 (copyMap: from → to)
|
|
- command: Copy
|
|
id: copy-release
|
|
param:
|
|
ignorePattern:
|
|
- "*.log"
|
|
- ".DS_Store"
|
|
copyMap:
|
|
"<!property.workspace>/build/*": "<!property.workspace>/release"
|
|
|
|
# 이동 (isMove: true)
|
|
# - command: Copy
|
|
# id: move-file
|
|
# param:
|
|
# isMove: true
|
|
# copyMap:
|
|
# "<!property.workspace>/tmp/output": "<!property.workspace>/release"
|
|
|
|
# 압축
|
|
- command: Zip
|
|
id: zip-release
|
|
param:
|
|
zipFile: "<!property.workspace>/dist/release_v<!property.version>.zip"
|
|
zipList:
|
|
- "<!property.workspace>/release"
|
|
|
|
# 파일/디렉토리 삭제
|
|
- command: Delete
|
|
id: delete-temp
|
|
param:
|
|
list:
|
|
- "<!property.workspace>/tmp"
|
|
- "<!property.workspace>/build"
|
|
|
|
# 파일 메타데이터 조회
|
|
- command: FileInfo
|
|
id: file-info
|
|
param:
|
|
path: "<!property.workspace>/dist/release_v<!property.version>.zip"
|
|
setInfo: <@property.fileInfo>
|