KODE/CI build.yaml
yaml kode/ci build
| Type | object |
|---|---|
| File match |
**/.kode/*.yaml
|
| Schema URL | https://catalog.lintel.tools/schemas/schemastore/kode-ci-build-yaml/latest.json |
| Source | https://www.schemastore.org/kode-ci-build-1.0.0.json |
Validate with Lintel
npx @lintel/lintel check
KoDE/CI 빌드 스펙에 사용되는 yaml의 스키마를 정의
Properties
실행할 작업들: 독립적으로 병렬 실행됨
빌드 실행 조건
4 nested properties
Push 이벤트에 의한 조건
4 nested properties
Push 빌드의 branch 조건
[
"*"
]
Push 빌드의 tag 조건
[
"*"
]
1 nested properties
commit message에 주어진 문자열을 포함한 경우만 빌드
Push 빌드의 paths 조건
[
""
]
PullRequest 이벤트에 의한 조건
3 nested properties
PR빌드의 target 브랜치 조건
[
""
]
PR 이벤트 타입
[
"opened",
"synchronize",
"reopened"
]
PullRequest 빌드의 paths 조건
[
""
]
수동빌드 대상을 위한 조건
2 nested properties
수동빌드의 대상이 되는 브랜치 조건
[
""
]
수동빌드의 대상이 되는 태그 조건
[
""
]
스케줄에 의한 조건
4 nested properties
cron 표현식. unix 표현식과 quartz 표현식 사용가능
스케줄 빌드의 branch 조건
스케줄 빌드 zone
[
"Asia/Seoul"
]
변경된 파일이 있을때만 빌드
환경변수
Definitions
환경변수 이름
환경변수 값
환경변수를 적용할 브랜치
빌드 실행 조건
Push 이벤트에 의한 조건
4 nested properties
Push 빌드의 branch 조건
[
"*"
]
Push 빌드의 tag 조건
[
"*"
]
1 nested properties
commit message에 주어진 문자열을 포함한 경우만 빌드
Push 빌드의 paths 조건
[
""
]
PullRequest 이벤트에 의한 조건
3 nested properties
PR빌드의 target 브랜치 조건
[
""
]
PR 이벤트 타입
[
"opened",
"synchronize",
"reopened"
]
PullRequest 빌드의 paths 조건
[
""
]
수동빌드 대상을 위한 조건
2 nested properties
수동빌드의 대상이 되는 브랜치 조건
[
""
]
수동빌드의 대상이 되는 태그 조건
[
""
]
스케줄에 의한 조건
4 nested properties
cron 표현식. unix 표현식과 quartz 표현식 사용가능
스케줄 빌드의 branch 조건
스케줄 빌드 zone
[
"Asia/Seoul"
]
변경된 파일이 있을때만 빌드
작업 이름
실행할 명령 목록(순차실행)
선행 작업 및 조건 정의
[]
사내 Proxy 설정
[
"shell"
]
proxy 예외할 host 목록 (ip, ip/mask, domain)
[]
실행환경 설정
5 nested properties
docker image
실행에 사용할 리소스 크기 설정
실행환경에서 사용할 기능 설정
[]
실행환경 플랫폼
platform: macos 일때 사용할 agent를 선택
[]
artifact로 지정할 파일 혹은 디렉토리 경로
[]
다음 빌드의 속도 향상을 위한 캐시 설정
[]
git clone시 depth를 주기위한 옵션
최대 실행시간 (e.g. '1h', '100m')
빌드 후처리기 설정
2 nested properties
artifact로 지정된 .apk/.ipa 파일을 appcenter로 릴리즈
GitOps 방식의 K8S Deploy를 위한 manifest repo 업데이트
4 nested properties
K8S manifest repo 정보
manifest repo를 업데이트하기 위한 명령
빌드 작업에서 manifest reop로 전달할 artifacts
manifest repo에 git tag를 동기화할지 여부. push tag 빌드일때만 동작
html report 설정. path 경로의 html 파일을 업로드
[]
다음 job으로 전달할 파일 및 환경변수를 지정합니다. 해당 job 의 성공/실패 상관없이 export 됩니다.
2 nested properties
다음 job으로 전달할 파일 이름 목록
[]
다음 job으로 전달할 환경변수 이름 목록
[]
선행 job의 export.artifacts를 현재 job으로 가져옵니다.
[]
실행환경 설정
docker image
실행에 사용할 리소스 크기 설정
실행환경에서 사용할 기능 설정
[]
실행환경 플랫폼
platform: macos 일때 사용할 agent를 선택
[]
artifact로 지정된 .apk/.ipa 파일을 appcenter로 릴리즈
GitOps 방식의 K8S Deploy를 위한 manifest repo 업데이트
K8S manifest repo 정보
2 nested properties
repo('owner/repo')
branch
manifest repo를 업데이트하기 위한 명령
빌드 작업에서 manifest reop로 전달할 artifacts
manifest repo에 git tag를 동기화할지 여부. push tag 빌드일때만 동작