기본 콘텐츠로 건너뛰기 보완적인 콘텐츠로 건너뛰기

버전 제어로 프로젝트 관리

버전 제어를 사용하면 데이터 프로젝트의 개발을 관리하고 변경 내용을 추적할 수 있습니다.

정보 메모Qlik Talend Cloud 시작 구독에서는 버전 제어를 사용할 수 없습니다.

버전 제어를 사용하면 설계 중에 프로젝트의 버전을 커밋할 수 있습니다. 이를 통해 변경 내용을 되돌리고 두 프로젝트 버전 간 변경 내용을 확인할 수 있습니다.

분기 전략을 사용하여 데이터 프로젝트를 개발할 수도 있습니다. 이를 통해 각 작업 영역이나 분기에서 프로젝트의 격리된 버전을 작업할 수 있습니다. 여러 사용자가 작업 영역을 공유할 수 있습니다. 그런 다음 작업 영역의 변경 내용을 기본 분기에 병합하여 프로덕션에 배포할 수 있습니다.

GitHub은 버전 제어를 위한 공급자로 사용됩니다.

시작하기

  • 테넌트가 GitHub에 액세스하는 데 사용할 수 있는 GitHub 사용자를 만듭니다. 이는 관리자가 이미 사용자를 위해 만들었을 수 있습니다.

    사용자는 다음 범위를 가져야 합니다.

    • repo

    • read:org

    • read:user

    • read:project

  • 변경하려는 리포지토리에 대한 쓰기 액세스 권한이 필요합니다.

  • GitHub 개인 액세스 토큰(클래식)을 만들어야 합니다. 세분화된 개인 액세스 토큰은 지원되지 않습니다.

    자세한 내용은 GitHub 문서: 개인 액세스 토큰 관리를 참조하십시오.

  • GitHub 구성에서는 구성이 필수입니다.

  • 버전 제어 작업을 수행하려면 프로젝트가 있는 공간에서 편집할 수 있음 역할이 필요합니다.

  • 버전 제어를 사용하려면 먼저 만든 GitHub 사용자로 GitHub에 연결하기 위한 구성을 설정해야 합니다.

    GitHub에 구성 설정

  • GitHub에 연결을 설정하면 프로젝트를 리포지토리에 연결할 수 있습니다.

    프로젝트를 리포지토리에 연결

GitHub에 구성 설정

버전 제어를 사용하여 작업하려는 모든 사용자는 GitHub 사용자 계정을 사용하여 GitHub에 연결하기 위한 구성을 설정해야 합니다.

GitHub 연결

프로젝트에서 GitHub를 구성할 수 있습니다. 시작하기에 따라 준비했는지 확인합니다.

  1. 을 클릭한 다음 GitHub 구성을 클릭합니다.

  2. 시작하기에 설명된 조직 및 GitHub 개인 액세스 토큰을 사용하여 인증을 설정합니다.

  3. 확인을 클릭합니다.

정보 메모개인 공간에 GitHub - 버전 제어 유형의 연결이 만들어집니다. 모든 사용자는 개인 버전 제어 연결을 갖게 되므로 이를 관리할 필요가 없습니다.

이제 프로젝트를 리포지토리에 연결할 수 있습니다.

프로젝트를 리포지토리에 연결

버전 제어를 사용하려면 먼저 프로젝트를 리포지토리에 연결해야 합니다. GitHub에 연결을 설정했는지 확인합니다.

프로젝트를 버전 제어에 연결합니다.

테넌트 설정 중 지역이 있는 드롭다운 목록.
  1. 프로젝트에서 프로젝트의 ...를 클릭하고 버전 제어에 연결을 선택합니다.

  2. 프로젝트를 연결할 리포지토리를 선택합니다.

  3. 기본 디렉터리 경로를 추가합니다.

    GitHub의 기존 프로젝트에 연결하려면 동일한 경로를 사용해야 합니다.

  4. 연결 후 프로젝트를 커밋하고 원격 리포지토리에 프로젝트를 푸시하도록 선택할 수 있습니다. 커밋 메시지 입력

    커밋하고 푸시하지 않으면 작업 영역에 기본 분기가 만들어지지만 원격 리포지토리에는 만들어지지 않습니다.

  5. 연결을 클릭합니다.

이제 프로젝트가 선택한 리포지토리에 연결되었습니다. 이는 프로젝트 카드 하단에 , 리포지토리 이름 및 현재 분기로 표시됩니다.

프로젝트를 열면 제목 행에 버전 제어 옵션이 있는 GitHub 메뉴가 포함됩니다. 프로젝트 이름에는 현재 분기 이름도 추가됩니다.

버전 제어를 통한 프로젝트 개발

다양한 접근 방식으로 버전 제어를 사용할 수 있습니다.

  • 기본 분기에서 직접 작업합니다. 이 기능은 주로 프로젝트의 변경 내용을 추적하려는 단일 개발자에게 적합하지만, 동기화되어 작업하는 개발자 그룹에서도 사용할 수 있습니다.

  • 여러 개발자가 기여할 수 있는 분기 전략을 사용합니다. 또한, 새로운 기능이나 변경 내용을 서로 격리하기 위해 분기를 만들 수도 있습니다.

단일 개발자 프로젝트를 위한 간소화된 워크플로

프로젝트의 기본 분기에서 직접 작업할 수 있습니다. 이 방법은 더 간단하고 작업도 적지만, 여전히 변경 내용을 추적할 수 있습니다. 개발자가 두 명 이상인 경우 동기화를 유지하는 데 주의해야 합니다.

적용하려는 프로젝트에 변경 내용을 적용한 후에는 커밋하고 푸시하기만 하면 됩니다.

다중 개발자 프로젝트의 워크플로

이 워크플로는 프로젝트에 두 명 이상의 개발자가 작업하는 경우 또는 변경 내용을 격리하려는 경우 사용할 수 있습니다. 여기에는 다른 사용자와 공유할 수 있는 개발 분기를 만드는 것이 포함됩니다. 이 워크플로를 사용하면 개발자는 서로의 변경 내용을 추적하고, 변경 내용을 기본 분기에 병합할지 결정할 수 있습니다.

버전 제어를 통한 다중 개발자 프로젝트의 워크플로

  1. 기본 분기에서 새 개발 분기를 만듭니다. 더 많은 사용자와 분기를 공유할 수 있습니다.

  2. 프로젝트에 필요한 모든 변경을 완료합니다.

    정보 메모데이터베이스 스키마와 연결은 버전 제어에서 유지되지 않습니다.
  3. 다른 분기의 원격 변경 내용을 작업 영역에 적용하여 다른 분기의 변경 내용으로 최신 상태를 유지합니다. 이는 충돌하는 변경 내용을 피하거나 완화하는 데 도움이 됩니다.

    충돌할 수 있는 변경 내용이 포함된 두 개의 분기가 있는 경우 해결책은 다음과 같습니다.

    1. 두 작업 영역에 변경 내용을 커밋합니다.

    2. 두 개의 분기를 기본으로 병합합니다.

    3. 원격 변경 내용을 다시 적용합니다.

  4. 변경 내용을 개발 분기에 커밋하고 푸시합니다. 모든 개체가 푸시되므로 커밋하기 전에 프로젝트의 유효성을 검사하는 것이 좋습니다.

  5. 개발 준비가 되면 작업 영역의 변경 내용을 기본 분기에 병합할 때입니다. 개발 분기를 기본 분기에 병합하려면 GitHub에서 풀 리퀘스트를 열어야 합니다. 기본 분기에 병합될 분기에 대한 승인을 설정할 수 있습니다. 자세한 내용은 GitHub 풀 요청 문서를 참조하십시오.

새 분기 만들기

  1. 프로젝트에서 프로젝트의 ...를 클릭하고 새 분기 만들기를 선택합니다.

    프로젝트는 버전 제어에 연결되어야 합니다.

  2. 기본 분기에서 분기를 만들도록 선택합니다.

  3. 분기 이름을 입력합니다.

  4. 모든 스키마에 대한 분기 접두사에서 프로젝트의 모든 스키마에 추가할 접두사를 설정합니다. 이를 통해 모든 스키마의 이름을 고유하게 지정하여 이름 충돌을 피할 수 있습니다.

  5. 만들기를 클릭합니다.

기본에서 새로운 분기가 만들어지고 리포지토리에서 체크아웃됩니다. 해당 분기에는 모든 작업이 '신규' 상태로 된 새 버전의 프로젝트가 포함되어 있습니다. 즉, 준비되지 않아 어떠한 데이터도 포함하지 않습니다.

원격 변경 내용 적용

원격 리포지토리의 변경 내용을 작업 영역에 적용할 수 있습니다. 이는 Qlik Cloud 통합 버전 제어 외부(예: GitHub 또는 다른 도구)에서 만들어진 변경 내용일 수 있습니다. 이렇게 하면 변경 내용을 분기에 커밋하고 푸시할 때 충돌을 피하는 데 도움이 됩니다.

  1. 프로젝트에서 프로젝트의 ...를 클릭하고 원격 변경 내용 적용을 선택합니다.

    변경 내용이 발견되면 작업 영역에 원격 변경 내용 적용 대화 상자가 표시됩니다.

  2. 이제 변경 내용을 적용할 작업을 선택하고 변경 내용을 검사할 수 있습니다. 각 변경 내용에 대해 원격 버전 또는 작업 영역의 버전 중에서 사용할 버전을 선택할 수 있습니다.

  3. 원격 변경 내용 적용을 클릭합니다.

변경 내용에 새로운 데이터 작업이 포함된 경우 소스 연결과 대상 연결을 추가해야 합니다.

정보 메모선택된 작업만 적용하는 경우 프로젝트의 구조적 타당성을 유지하는 데 주의해야 합니다. 예를 들어, 새 저장소 작업을 적용하는 경우 소스 랜딩 작업도 적용해야 합니다. 랜딩 데이터 집합을 수동으로 추가할 수는 없습니다.

커밋 및 푸시

변경 내용을 분기에 커밋하고 푸시할 수 있습니다. 작업 영역에 적용되지 않는 원격 변경 내용은 덮어쓸 수 있으므로 커밋하고 푸시하기 전에 원격 변경 내용 적용을 수행해야 합니다.

  1. 프로젝트에서 프로젝트의 ...를 클릭하고 커밋 및 푸시를 선택합니다.

    변경 내용이 발견되면 커밋 및 푸시 대화 상자가 표시됩니다.

  2. 변경 내용을 추적하는 데 도움이 되는 커밋 메시지를 추가합니다.

  3. 커밋 및 푸시를 클릭합니다.

분기 삭제

변경 내용을 기본 분기에 병합한 후에 분기를 삭제할 수 있습니다.

  1. 프로젝트에서 삭제할 분기에서 ...를 클릭하고 분기 삭제를 선택합니다.

    버전 제어에서 원격 분기를 삭제하도록 선택할 수도 있습니다.

    커밋되지 않은 변경 내용이 있는 경우 분기를 삭제할 때 이러한 변경 내용이 손실되는지 확인해야 합니다.

프로젝트의 버전 제어 제거

프로젝트를 버전 제어에서 분리할 수 있습니다. 기존 분기가 있는 경우 프로젝트 연결을 끊기 전에 해당 분기를 삭제해야 합니다.

  1. 프로젝트에서 연결을 끊을 프로젝트의 ...를 클릭하고 GitHub에서 연결 끊기를 선택합니다.

다른 공간이나 테넌트와 프로젝트 공유

동일한 테넌트나 다른 테넌트의 다른 공간에 프로젝트 버전을 공유할 수 있습니다. 이 기능은 두 개의 환경(예: 개발용 환경 및 운영용 환경)을 만들 때 유용합니다.

  1. 원래 프로젝트와 같은 이름으로 새 프로젝트를 만듭니다.

    동일한 사용 사례와 플랫폼 유형을 설정합니다. 다양한 연결을 사용할 수 있습니다.

  2. 새 프로젝트를 원래 프로젝트와 동일한 리포지토리 및 기본 디렉터리 경로에 연결합니다.

    정보 메모커밋 및 푸시 옵션을 선택하지 마십시오.
  3. 플랫폼 연결이 원래 프로젝트와 동일한 대상을 가리키는 경우 데이터 작업의 데이터베이스나 스키마를 변경해야 합니다. 모든 작업의 스키마를 변경하는 한 가지 방법은 원격 변경 내용을 적용하기 전에 메타데이터 프로젝트 설정에서 모든 스키마의 접두사를 변경하는 것입니다. 이렇게 하면 모든 작업이 이 접두사로 만들어집니다.

  4. 모든 파일을 선택하여 원격 변경 내용을 적용합니다.

  5. 모든 랜딩 작업에 대해 누락된 소스 연결을 추가합니다.

    랜딩 작업에서 소스 데이터 선택을 클릭하고 연결을 선택한 후 저장을 클릭합니다.

    정보 메모연결은 동일한 유형의 소스에서 이루어져야 하며 원래 프로젝트와 동일한 이름의 테이블을 가리켜야 합니다.
  6. 모든 복제 작업에 대해 누락된 소스 및 대상 연결을 추가합니다.

이렇게 하면 또 다른 작업 영역이 만들어집니다. 작업 영역 중 하나에서 프로젝트를 변경한 다음, 원격 변경 내용 적용을 사용하여 다른 작업 영역을 동기화할 수 있습니다.

보안 고려 사항

Qlik Talend Data Integration 및 GitHub 간에 동기화된 보안 구성을 유지해야 합니다.

  • Qlik Talend Data Integration 권한은 여러 프로젝트가 포함될 수 있는 공간을 기반으로 합니다. GitHub에서 권한은 여러 프로젝트를 포함할 수 있는 리포지토리를 기반으로 결정됩니다. 이를 정렬하고 한 공간에 있는 모든 프로젝트를 동일한 리포지토리에 연결하는 것이 가장 좋습니다.

  • Qlik Talend Data Integration 및 GitHub은 사용자에게 다른 권한과 역할을 사용한다는 점에 유의해야 합니다.

모범 사례

버전 제어를 사용하여 프로젝트 작업 시 참고할 수 있는 몇 가지 모범 사례는 다음과 같습니다.

  • GitHub의 리포지토리를 설명하는 README 파일을 추가합니다. 자세한 내용은 README 정보를 참조하십시오.

  • 유효하고 실행이 검증된 프로젝트만 커밋합니다.

    준비되거나 변환되지 않은 랜딩 작업 또는 등록된 데이터 작업이 있는 프로젝트를 추가하는 경우 소스 열은 아직 포함되지 않습니다. 작업이 준비되고 변환되면 소스 열이 추가됩니다.

  • 복제 프로젝트에 대한 분기를 만들 때, 기본적으로 분기가 동일한 대상을 사용한다는 점을 알고 있어야 합니다. 즉, 분기에서 실행 중인 작업은 기본 버전의 데이터를 재정의할 수 있습니다. 데이터 손실을 방지하려면 기본 버전과 충돌하지 않도록 분기의 대상 설정을 변경합니다.

  • 분기를 만들면 작업 영역에 아직 적용되지 않은 원격 변경 내용이 있을 수 있습니다. 원격 변경 내용을 취소하려는 경우가 아니면 분기를 만들기 전이나 후에 원격 변경 내용을 적용합니다.

제한 사항

  • 분기가 있는 경우 버전 제어를 사용하여 프로젝트를 연결 해제하거나 삭제할 수 없습니다. 프로젝트를 연결 해제하거나 삭제하려면 먼저 분기를 삭제해야 합니다.

  • 버전 제어를 사용하여 프로젝트의 이름을 바꿀 수 없습니다.

  • 테넌트를 삭제해도 GitHub의 버전 제어를 통해 저장된 개체는 삭제되지 않습니다. 이러한 개체는 수동으로 삭제해야 합니다.

  • 많은 프로젝트에서 리포지토리를 사용하거나 Qlik Talend Data Integration에 저장되지 않은 많은 파일을 포함하는 경우 성능이 저하될 수 있습니다.

  • 데이터베이스 스키마와 연결은 버전 제어에서 유지되지 않습니다.

  • GitHub의 세분화된 개인 액세스 토큰은 지원되지 않습니다.

  • 두 개의 프로젝트가 같은 리포지토리에 있더라도, 하나의 분기(기본 분기 제외)는 리포지토리당 하나의 프로젝트에서만 사용할 수 있습니다.

  • 다른 대상 플랫폼을 사용하는 프로젝트에서 원격 변경 내용을 적용할 수 없습니다. 예를 들어, Snowflake에서 프로젝트에 변경 내용을 커밋하는 경우 Databricks 프로젝트에 해당 변경 내용을 적용할 수 없습니다.

이 페이지가 도움이 되었습니까?

이 페이지 또는 해당 콘텐츠에서 오타, 누락된 단계 또는 기술적 오류와 같은 문제를 발견하면 개선 방법을 알려 주십시오!