InfoGrab DocsInfoGrab Docs

CI/CD 스키마에 기여하기

파이프라인 에디터에서 사용되는 CI/CD JSON 스키마의 구조, 키워드 업데이트 방법, 가이드라인, 테스트 작성 방법을 설명합니다.

파이프라인 에디터 는 CI/CD 스키마를 사용하여 CI/CD 구성 파일 작성 경험을 향상시킵니다. CI/CD 스키마를 통해 에디터는 다음을 수행할 수 있습니다: 에디터에서 작성 중인 CI/CD 구성 파일의 내용을 검증합니다. 자동 완성 기능을 제공하고 사용 가능한 키워드를 제안합니다. 어노테이션을 통해 키워드에 대한 정의를 제공합니다. CI/CD 구성 파일을 설정하는 규칙과 키워드가 변경됨에 따라, CI/CD 스키마도 함께 업데이트되어야 합니다. JSON 스키마 # CI/CD 스키마는 JSON Schema Draft-07 사양을 따릅니다. CI/CD 구성 파일은 YAML로 작성되지만, CI/CD 스키마에 의해 검증되기 전에 monaco-yaml 을 사용하여 JSON으로 변환됩니다. JSON 스키마가 처음이라면, JSON 스키마 작업 방법에 대한 단계별 소개를 위해 이 가이드 를 참고해보세요. 키워드 업데이트 # CI/CD 스키마는 app/assets/javascripts/editor/schema/ci.json 에 있습니다. CI/CD 구성 파일 작성에 사용 가능한 모든 키워드가 포함되어 있습니다. 사용 가능한 모든 키워드의 포괄적인 목록은 CI/CD YAML 문법 참조 를 확인하세요. 모든 키워드는 definitions 아래에 정의됩니다. 스키마 전반에서 공통 데이터 구조를 공유하기 위해 이 정의들을 참조 로 사용합니다. 예를 들어, 다음은 retry 키워드를 정의합니다: { "definitions": { "retry": { "description": "Retry a job if it fails. Can be a simple integer or object definition.", "oneOf": [ { "$ref": "#/definitions/retry_max" }, { "type": "object", "additionalProperties": false, "properties": { "max": { "$ref": "#/definitions/retry_max" }, "when": { "description": "Either a single or array of error types to trigger job retry.", "oneOf": [ { "$ref": "#/definitions/retry_errors" }, { "type": "array", "items": { "$ref": "#/definitions/retry_errors" } } ] } } } ] } } } 이 정의를 통해 retry 키워드는 job_template 정의의 속성이자 default 글로벌 키워드가 됩니다. 파이프라인 동작을 구성하는 글로벌 키워드 ( workflow , stages 등)는 최상위 properties 키 아래에 정의됩니다. { "properties": { "default": { "type": "object", "properties": { "retry": { "$ref": "#/definitions/retry" }, } } }, "definitio