사용자 지정 흐름을 위한 버전 제어

Openflow는 GitHub Git 리포지토리 클라이언트를 포함한 레지스트리 클라이언트를 지원하여 사용자 지정 흐름 정의를 저장하고 버전을 지정할 수 있습니다. 이를 통해 표준 소프트웨어 개발 수명 주기(SDLC) 사례(예: 분기, 끌어오기 요청, 코드 검토, 환경 승격)를 지원합니다.

일반적인 워크플로는 다음과 같습니다.

  • 프로덕션 흐름 정의를 나타내는 main 분기를 유지 관리합니다.

  • 새로운 개발을 위한 기능 분기를 생성합니다.

  • Openflow 캔버스에서 변경 사항을 개발하고 커밋합니다.

  • 끌어오기 요청을 열고 Flow Diff로 검토하고 병합합니다.

전제 조건

  • 흐름 정의를 저장하기 위한 GitHub 리포지토리.

  • repository 액세스 권한이 있는 GitHub 개인 액세스 토큰.

  • Openflow 캔버스에 대한 액세스 권한이 있는 Openflow 런타임.

  • 런타임 통합 오브젝트에 대한 적절한 Snowflake 역할 권한.

1단계: GitHub 레지스트리 클라이언트 생성

  1. GitHub에서 리포지토리를 생성하고 흐름 정의를 저장합니다.

  2. GitHub에서 리포지토리 액세스 권한이 있는 개인 액세스 토큰(PAT)을 생성합니다.

  3. Openflow 캔버스에서 Controller Settings 로 이동하여 새 레지스트리 클라이언트를 생성합니다.

  4. 유형으로 GitHub Registry Client 를 선택합니다.

  5. 다음을 사용하여 레지스트리 클라이언트를 구성합니다.

    • GitHub 리포지토리 URL .

    • GitHub 리포지토리 소유자.

    • 인증을 위한 개인 액세스 토큰.

2단계: 새 흐름 생성 및 버전 지정

  1. Openflow 캔버스에서 흐름에 대한 새 프로세스 그룹을 생성합니다.

  2. 프로세서를 추가하고, 연결을 구성하고, 데이터 파이프라인을 설정하여 흐름을 구축합니다.

  3. 프로세스 그룹을 마우스 오른쪽 버튼으로 클릭하고 Start Version Control 을 선택합니다.

  4. 1단계 에서 구성한 GitHub 레지스트리 클라이언트를 선택합니다.

  5. 흐름 이름과 초기 커밋 메시지를 제공합니다.

저장하면 흐름 정의가 GitHub 리포지토리에 커밋됩니다. GitHub 에서 리포지토리를 확인하여 검증할 수 있습니다.

3단계: 분기를 사용하여 변경 사항 관리

개발 분기 생성

GitHub 리포지토리에서 새 분기를 생성합니다(예: dev 또는 feature/add-new-table 과 같은 기능 분기).

분기에서 가져오기 및 개발

  1. Openflow 캔버스에서 도구 모음의 Import from Registry 아이콘을 캔버스로 드래그하여 GitHub 레지스트리에서 새 프로세스 그룹으로 흐름을 가져옵니다.

  2. 가져올 때 작동할 대상 분기(예: dev)를 선택합니다.

  3. 프로세스 그룹 내에서 흐름을 변경합니다.

  4. Openflow에서 변경 사항을 커밋합니다. 이를 통해 업데이트된 흐름 정의가 GitHub에서 선택한 분기로 푸시됩니다.

끌어오기 요청을 통한 검토 및 병합

  1. GitHub의 개발 분기에서 main 으로 끌어오기 요청을 엽니다.

  2. 변경 사항을 검토합니다. 사람이 읽을 수 있는 diff의 경우 Snowflake Flow Diff GitHub Action(4단계 참조)을 사용합니다.

  3. 풀 요청이 승인된 후 병합합니다.

  4. Openflow 캔버스로 돌아가서 main 프로세스 그룹을 업데이트하여 main 분기에서 최신 버전을 가져옵니다.

4단계: Snowflake Flow Diff(GitHub Action) 설정

Snowflake Flow Diff는 파이프라인 변경 사항의 시각적 차이를 끌어오기 요청 대화에서 직접 렌더링하여 흐름 변경 사항을 사람이 읽을 수 있도록 만드는 GitHub Action입니다.

워크플로 파일 설정

  1. GitHub 리포지토리에서 .github/workflows/flowdiff.yml 파일을 생성합니다.

  2. Snowflake Flow Diff 리포지토리 에서 워크플로 구성을 복사합니다(README의 사용법 섹션 참조).

  3. 워크플로 파일을 커밋하고 푸시합니다.

흐름 변경 사항 검토

  1. 풀 요청이 열리면 Flow Diff 작업이 자동으로 실행됩니다.

  2. 끌어오기 요청의 Conversations 탭으로 이동하여 Flow Diff 분석이 나타날 때까지 기다립니다.

  3. 분석은 원시 JSON diff 대신 사람이 읽을 수 있는 흐름 변경 사항의 시각적 비교를 보여줍니다.

여러 환경에서 매개 변수 관리

Openflow는 매개 변수를 사용하여 다양한 런타임에서 환경별 값(예: 연결 문자열, 자격 증명, 테이블 이름)을 관리합니다.

다음 개념을 염두에 두세요.

  • 매개 변수는 프로세스 그룹과 일대일 매핑이 있는 매개 변수 컨텍스트로 그룹화됩니다.

  • 매개 변수 컨텍스트 상속을 사용하면 상위 컨텍스트에서 공유 매개 변수를 정의하고 하위 컨텍스트의 특정 값을 재정의할 수 있습니다. 이는 개발, 스테이징 및 프로덕션 환경 전반에서 흐름을 승격하는 데 유용합니다.

  • 매개 변수 컨텍스트는 Secrets Manager와 통합되어 민감한 자격 증명을 흐름 정의에 저장하지 않고도 안전하게 처리할 수 있습니다.