IDE에서 Workflows JSON 스키마 사용

워크플로를 만들 때 구문 지원을 제공하려면 Visual Studio Code(VS Code) 또는 Intellij IDEA와 같은 통합 개발 환경(IDE)에서 Workflows JSON 스키마를 사용하면 됩니다. 구문 지원에는 자동 완성, 유효성 검사, 인라인 문서가 포함됩니다. 스키마를 CI/CD 프로세스에 통합할 수도 있습니다.

Workflows JSON 스키마는 JSON 문서에 주석을 추가하고 유효성을 검사할 수 있는 선언적 언어인 JSON 스키마로 작성됩니다. 스키마 소스는 일반적인 JSON 기반 구성 파일의 스키마 저장소인 SchemaStore.org에서 호스팅됩니다. SchemaStore.org의 스키마는 YAML 파일에도 적용할 수 있습니다.

사용하려는 IDE 또는 편집기에 따라 플러그인을 설치하거나 기본 제공되는 지원을 적용하여 Workflows 스키마를 사용할 수 있습니다. 스키마는 프로젝트 루트 아래에 로컬로 저장하거나 SchemaStore.org의 리소스 URL을 통해 지정할 수 있습니다.

워크플로 정의 파일의 파일 이름 형식

사용하는 IDE 또는 편집기에 관계없이 플러그인 또는 확장 프로그램을 사용하여 SchemaStore.org의 Workflows 스키마를 자동으로 적용하는 경우 워크플로 정의 파일의 파일 이름 형식은 다음과 같아야 합니다.

  • workflows.json
  • workflows.yaml
  • workflows.yml
  • *.workflows.json
  • *.workflows.yaml
  • *.workflows.yml

VS Code를 사용하거나 기본 제공되는 지원을 사용하여 Workflows 스키마를 적용하는 경우 파일 이름 형식을 재정의할 수 있습니다.

제한사항

Workflows JSON 스키마를 통한 구문 지원은 워크플로를 정의하는 키워드의 자동 완성에 중점을 둡니다. 스키마는 일부 표준 라이브러리 함수에서 자동 완성을 지원하지만 동적 변수 이름, 표현식, 기타 표현식 도우미는 제한적으로 지원됩니다. 또한 이 스키마는 워크플로가 완료되었다고 가정하며 하위 워크플로 결합과 같은 후처리를 고려하지 않습니다.

JSON 스키마 충돌을 방지하려면 Workflows 구문 지원에 확장 프로그램 또는 플러그인을 두 개 이상 사용하지 않는 것이 좋습니다.

VS Code의 Workflows JSON 스키마 연결

VS Code는 데스크톱에서 실행되며 Windows, macOS, Linux에서 사용할 수 있는 소스 코드 편집기입니다. 여러 언어가 기본적으로 지원되며 다른 언어 및 런타임의 확장 프로그램을 지원합니다. 머신에 VS Code를 설치하고 설정하려면 Visual Studio Code를 참조하세요.

다음은 VS Code에서 Workflows JSON 스키마를 연결할 수 있는 다양한 방법입니다.

Cloud Code를 사용하여 YAML에서 워크플로 만들기

Cloud Code는 Google Cloud로 애플리케이션을 더 쉽게 제작, 배포, 통합할 수 있는 IDE 플러그인 집합입니다.

VS Code를 IDE로 사용하는 경우 YAML 워크플로를 작성할 때 Cloud Code를 사용하면 SchemaStore.org에서 Workflows JSON 스키마를 자동으로 가져옵니다. 스키마가 예상대로 적용되고 있는지 확인하려면 VS Code 작업공간 또는 폴더에서 YAML 워크플로를 만들고 Workflows 키워드에 자동 완성이 수행되는지 확인합니다.

Cloud Code는 오프라인 Google Cloud 스키마를 지원하며 네트워크 또는 IDE 제한사항이 있는 사용자가 사용할 수 있습니다. 자세한 내용은 다음을 참조하세요.

RedHat의 YAML을 사용하여 YAML에서 워크플로 만들기

VS Code용 Cloud Code 확장 프로그램 대신 RedHat의 YAML 확장 프로그램을 사용할 수 있습니다. 이 확장 프로그램은 YAML 언어 지원을 제공하고 내장된 Kubernetes 구문 지원을 포함하며, SchemaStore.org에서 Workflows JSON 스키마를 자동으로 가져옵니다.

확장 프로그램을 설치하면 YAML 워크플로를 만듭니다. 파일 상단에 Google Cloud Workflows 구성 파일(workflows.json) 링크가 있어야 합니다. 링크를 클릭하면 VS Code 편집기에서 Workflows JSON 스키마가 열립니다.

파일 이름 형식 재정의

Cloud Code 또는 RedHat의 YAML을 사용하여 YAML에서 워크플로를 만드는 경우 Workflows 스키마가 적용되는 기본 파일 이름 형식을 재정의할 수 있습니다. settings.json 파일에서 매핑을 지정해야 합니다. 설정은 JSON으로 작성되며 VS Code 편집기에서 열기를 통해 이 파일을 직접 검토하고 수정할 수 있습니다.

예를 들어 VS Code용 Cloud Code 확장 프로그램을 사용하는 경우 cloudcode.yaml.schemas 속성 아래에서 파일 이름 형식을 매핑할 수 있습니다.

{
    "cloudcode.yaml.schemas": {
        "https://json.schemastore.org/workflows.json": [
            "GLOB_PATTERN.yaml",
            "my-special-workflow.yaml"
        ]
    }
}

또는 RedHat 확장 프로그램을 통해 YAML을 사용하는 경우 yaml.schemas 속성에서 파일 이름 형식을 매핑합니다.

{
    "yaml.schemas": {
        "https://json.schemastore.org/workflows.json": [
            "GLOB_PATTERN.yaml",
            "my-special-workflow.yaml"
        ]
    }
}

왼쪽의 스키마는 오른쪽의 glob 패턴에 적용됩니다. 각 스키마는 JSON 배열을 사용하여 여러 glob와 연결됩니다. 스키마는 절대 경로가 아닌 상대 경로여야 합니다. 스키마는 로컬 또는 온라인일 수 있습니다.

기본 제공되는 지원을 사용하여 JSON에서 워크플로 만들기

VS Code의 기본 제공 지원을 사용하여 json.schemas 속성 아래의 settings.json 파일에 매핑을 지정하여 Workflows JSON 스키마를 연결할 수 있습니다. 이 파일을 VS Code 편집기에서 열어 직접 검토하고 수정할 수 있습니다.

예를 들어 SchemaStore.org에서 Workflows JSON 스키마를 가져오려면 다음 명령어를 실행합니다.

{
    "json.schemas": [
        {
            "description": "SchemaStore.org",
            "fileMatch": [
                "workflows.json",
                "*.workflows.json"
            ],
            "url": "https://json.schemastore.org/workflows.json"
         }
    ]
}

왼쪽의 스키마는 오른쪽의 glob 패턴에 적용됩니다. 스키마는 JSON 배열을 사용해 여러 glob와 연결됩니다. 스키마는 절대 경로가 아닌 상대 경로여야 합니다. 스키마는 로컬 또는 온라인일 수 있습니다.

파일 이름 형식을 재정의할 수 있습니다. 예를 들면 다음과 같습니다.

{
    "json.schemas": [
        {
            "description": "Workflows schema",
            "fileMatch": [
                "GLOB_PATTERN.json",
                "FILE_NAME.json"
            ],
            "url": "https://json.schemastore.org/workflows.json"
        }
    ]
}

자세한 내용은 Visual Studio Code로 JSON 수정을 참조하세요.

IntelliJ IDEA에서 Workflows JSON 스키마 연결

IntelliJ IDEA는 자바 가상 머신 언어용 크로스 플랫폼 IDE입니다. 다른 언어는 플러그인을 통해 지원됩니다. 머신에 IntelliJ IDEA를 설치하고 설정하려면 IntelliJ IDEA 설치를 참조하세요.

다음은 IntelliJ IDEA에서 Workflows JSON 스키마를 연결할 수 있는 다양한 방법입니다.

Cloud Code를 사용하여 YAML 또는 JSON에서 워크플로 만들기

Cloud Code는 Google Cloud로 애플리케이션을 더 쉽게 제작, 배포, 통합할 수 있는 IDE 플러그인 집합입니다.

IntelliJ를 IDE로 사용하는 경우 워크플로를 YAML 또는 JSON으로 작성할 때 Cloud Code를 사용하면 SchemaStore.org에서 Workflows JSON 스키마를 자동으로 가져옵니다. Cloud Code는 오프라인 Google Cloud 스키마를 지원하며 네트워크 또는 IDE 제한사항이 있는 사용자가 사용할 수 있습니다. 자세한 내용은 다음을 참조하세요.

기본 제공되는 지원을 사용하여 YAML 또는 JSON에서 워크플로 만들기

IntelliJ IDEA는 SchemaStore.org에서 스키마를 자동으로 다운로드하고 사용할 수 있습니다. Workflows JSON 스키마를 다운로드하여 프로젝트 루트 아래에 저장하거나 리소스의 URL을 지정하여 IntelliJ IDEA에서 스키마를 자동으로 다운로드할 수 있습니다. 스키마를 매핑하려면 안내에 따라 커스텀 JSON 스키마를 구성합니다.

기본적으로 SchemaStore.org에서 스키마 자동 다운로드가 사용 설정되며 기본 파일 이름 패턴이 스키마에 대해 검증됩니다.

기본 파일 패턴을 재정의하려면 설정 대화상자를 통해 JSON 스키마 매핑으로 이동한 후 다음을 수행합니다.

  1. 이름 필드에 Workflows 스키마를 입력합니다.
  2. 스키마 파일 또는 URL 필드에 https://json.schemastore.org/workflows.json을 입력합니다.
  3. 스키마 버전 목록에서 JSON 스키마 버전 7을 선택합니다.
  4. 원하는 파일 경로 패턴을 추가합니다.

jsonSchema.xml을 통해 스키마 매핑

IntelliJ IDEA Community Edition 소스 코드는 https://github.com/JetBrains/intellij-community를 통해 제공됩니다.

jsonSchemas.xml에 항목을 추가하면 IntelliJ IDEA 편집기의 Workflows JSON 스키마를 매핑할 수 있습니다.

CI/CD 프로세스에 Workflows 구문 유효성 검사 추가

지속적 통합, 지속적 배포(CI/CD) 프로세스에 구문 유효성 검사를 추가하면 통합, 테스트, 전송, 배포 중에 오류를 줄이는 데 도움이 됩니다.

예를 들어 ajv-cli 도구를 사용하여 Workflows JSON 스키마에 대한 데이터를 검증할 수 있습니다. 도구를 설치할 때 ajv-formats도 설치합니다. 예를 들면 다음과 같습니다.

npm install -g ajv-cli ajv-formats

기타 유용한 도구:

  • MegaLinter v8r—MegaLinter는 CI/CD 워크플로용 오픈소스 도구입니다. v8r은 SchemaStore.org에 일치하는 스키마가 정의되어 있는 경우 JSON/YAML 파일의 유효성을 검사합니다.
  • JSON 검사기 - 프로그래밍 언어 또는 개발 플랫폼으로 분류된 JSON 유효성 검사 도구입니다.

다음 단계