oto/assets/pipeline-test.yaml
leedongmyung[desktop] 219d79e2de buidl isolate 적용
2023-12-03 07:44:29 +09:00

107 lines
2.5 KiB
YAML

---
property:
workspace: .
pipeline:
id: main
workflow:
- async: git
# - exe: json-reader
#동기식 실행, 해당 수행이 끝나야만 다음 스텝실행, command일경우 해당 id 기입
# - exe: appData
#비동기식 실행, 해당 수행이 완료됨과 관계없이 실행하고 다음 스텝을 실행한다
# - exe: buildDart
- switch:
condition-string: <!property.old-version>
cases:
#case 아이템 하나에 여러 작업을 array형태로 할당
- value: 0.0.155
tasks:
- exe: git
- async: git-count
- wait-until-string: <!state.git-count> != complete
- async: git-rev
- while:
condition-string: <!property.git-rev> == null
on-do:
- exe: git
- switch:
condition-string: <!property.git-rev>
cases:
#case 아이템 하나에 여러 작업을 array형태로 할당
- value: b6c2d44b2ec8b1a22fd9a88f4779e250b6ddc6b1
tasks:
- exe: git
#일반적인 if문과 동일
- if:
#property의 내용은 기본 dynamic(Object)형으로써, 비교시 정확한 캐스팅 필요, 적지 않을시 기본 string
condition-string: <!property.git-rev> != <!property.old-git-rev>
on-true:
- exe: zip
commands:
### 콜백이 필요없는 단순 깃 명령 호출
- command: Git
id: git
param:
workspace: ./../dart_framework
commands:
- restore .
- clean -f
### 깃 리비전 정보 저장
- command: GitRev
id: git-rev
param:
result-value: <!property.git-rev>
### 깃 커밋카운트 저장
- command: GitCount
id: git-count
param:
result-value: <!property.git-count>
### Json value read
- command: JsonReader
id: json-reader
param:
path: ./assets/data/app_data.json
pair:
- from: gitHash
to: <!property.old-git-rev>
- from: version
to: <!property.old-version>
- from: gitCount
to: <!property.old-git-count>
### Version 쓰기
# - command: CreateAppData
# id: appData
# param:
# scm: Git
# name: OTO
# relativeAssetPath: assets/data
# return-version: "<!property.version>"
# return-hash: "<!property.hash>"
### 실행가능한 파일로 빌드
- command: BuildDart
id: buildDart
param: {}
### 최종 zip 파일 형태로 저장
- command: Zip
id: zip
param:
zipFile: "<!property.workspace>/release/oto_win_v<!property.version>.zip"
zipList:
- "<!property.workspace>/release/oto_cli.exe"