기존 Dataform에서는 environments.json
파일에서 환경과 일정을 함께 정의했습니다.
다음 코드 샘플은 production
및 staging
환경 정의와 기존 Dataform의 environments.json
파일에서 해당 일정을 보여줍니다.
// example of an environments.json file
{
"environments": [
{
"name": "production",
"configOverride": {},
"schedules": [
{
"name": "daily",
"cron": "30 14 * * *",
"tags": [
"daily"
]
},
{
"name": "hourly",
"cron": "*/5 * * * *",
"disabled": false
}
],
"gitRef": "master"
},
{
"name": "staging",
"configOverride": {
"schemaSuffix": "staging"
},
"schedules": [
{
"name": "daily (all)",
"cron": "42 16 * * mon,tue,wed,thu,fri,sat,sun"
}
],
"gitRef": "master"
}
]
}
Google Cloud의 Dataform에서 환경 및 일정을 구성하는 작업은 두 가지 환경으로 나뉩니다.
- 출시 구성
- 기존 Dataform 환경과 비슷하며 다른 환경(예:
staging
및production
)의 컴파일 설정을 구성하는 데 사용됩니다.
출시 구성을 사용하면 Git commitish 및 컴파일 재정의를 구성하여 컴파일 결과 생성을 맞춤설정할 수 있습니다. Dataform은 워크플로 구성 일정과 독립적으로 출시 구성의 컴파일 결과를 만듭니다. 즉, 원격 Git 제공업체를 사용할 수 없는 경우에도 출시 구성의 컴파일 결과 예약 실행을 실행할 수 있습니다.
출시 구성을 만들 때 컴파일 결과 생성 빈도를 설정할 수 있습니다. 출시 구성에서 수동으로 또는 자동화된 지속적 배포 프로세스로 컴파일 결과를 만들 수도 있습니다.
- 워크플로 구성
- 기존 Dataform 일정과 동일하며 출시 구성에서 컴파일 결과의 실행을 예약하는 데 사용됩니다.
먼저 출시 구성을 만들고 선택한 환경(예: staging
)의 컴파일 설정을 정의해야 합니다. 그런 다음 워크플로 구성을 만들고 staging
컴파일 결과 실행 일정을 정의합니다.
환경 및 일정 마이그레이션 방법
다음 방법으로 기존 환경 및 일정을 출시 구성과 워크플로 구성으로 마이그레이션할 수 있습니다.
- Dataform 내에서 출시 및 워크플로 구성 구성하기
Google Cloud의 Dataform 내에서 환경을 출시 구성으로 다시 만들고 워크플로 구성으로 예약합니다.
- Dataform API로 출시 및 워크플로 구성 구성하기
Dataform API를 사용하여 출시 구성과 워크플로 구성을 구성합니다.
또는 다음 방법으로 기존 환경 및 일정을 마이그레이션할 수 있습니다.
- Dataform API를 통해
environments.json
에 커스텀 구성 적용 - 저장소에
environments.json
파일을 보존하고 원하는 도구로 지속적 배포 프로세스를 구성할 수 있습니다. 지속적 배포 프로세스에서 기본 브랜치에 병합할 때environment.json
파일에서 출시 구성 및 워크플로 구성을 업데이트합니다. - 출시 및 워크플로 구성 우회
- 출시 및 워크플로 구성을 우회하고 오픈소스 Dataform CLI, Dataform API, Dataform API를 Cloud Composer 또는 Workflows와 함께 사용하여 저장소를 컴파일하고 워크플로를 실행할 수 있습니다.
워크플로 알림 마이그레이션
Dataform은 워크플로 호출에 대한 Cloud Logging을 제공합니다. 이 로그에는 워크플로 모니터링 및 디버깅에 유용할 수 있는 정보가 포함됩니다.
receiveTimestamp
release_config_id
repository_id
resource_container
workflow_invocation_id
workflow_config_id
severity
:INFO
,WARNING
또는ERROR
일 수 있습니다.terminalState
:SUCCEEDED
,CANCELED
또는FAILED
일 수 있습니다.timestamp
@type
Cloud Logging과 Cloud Monitoring을 함께 사용하여 기존 알림과 유사한 알림을 구성할 수 있습니다.
Cloud Monitoring을 사용하면 다음 측정항목과 알림을 구성할 수 있습니다.
- 로그 기반 측정항목(다음 용도로 사용 가능):
- 시간 경과에 따른 변경사항을 알리는 알림 정책 만들기
- 시간 경과에 따른 변화를 표시하는 차트 만들기
- 로그 기반 알림은 특정 이벤트가 로그에 나타날 때마다 알림을 제공합니다.
자세한 내용은 Dataform에 대한 Cloud Logging 보기를 참조하세요.
다음 단계
- 출시 구성을 생성하는 방법을 알아보려면 출시 구성 만들기를 참조하세요.
- 워크플로 구성을 만드는 방법을 알아보려면 워크플로 구성으로 실행 예약을 참조하세요.
- Dataform의 코드 수명 주기에 대한 자세한 내용은 Dataform의 코드 수명 주기 소개를 참조하세요.
- 기존 Dataform에서 Google Cloud의 Dataform으로 마이그레이션하는 방법을 알아보려면 기존 Dataform에서 마이그레이션을 참조하세요.