Git 기반 리포지토리와 HealthOmics 워크플로 통합 - AWS HealthOmics

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Git 기반 리포지토리와 HealthOmics 워크플로 통합

워크플로(또는 워크플로 버전)를 생성할 때 워크플로, 실행 및 작업에 대한 정보를 지정하는 워크플로 정의를 제공합니다. HealthOmics는 워크플로 정의를 .zip 아카이브(로컬 또는 Amazon S3 버킷에 저장됨) 또는 지원되는 Git 기반 리포지토리에서 검색할 수 있습니다.

Git 기반 리포지토리와 HealthOmics 통합을 통해 다음 기능을 사용할 수 있습니다.

  • 퍼블릭, 프라이빗 및 자체 관리형 인스턴스에서 직접 워크플로를 생성합니다.

  • 리포지토리의 워크플로 README 파일 및 파라미터 템플릿 통합.

  • GitHub, GitLab 및 Bitbucket 리포지토리를 지원합니다.

Git 기반 리포지토리를 사용하면 워크플로 정의 파일 및 입력 파라미터 템플릿 파일을 다운로드하고.zip 아카이브를 생성한 다음 아카이브를 S3에 스테이징하는 수동 단계를 피할 수 있습니다. 이렇게 하면 다음 예제와 같은 시나리오의 워크플로 생성이 간소화됩니다.

  1. nf-core와 같은 일반적인 오픈 소스 워크플로를 사용하여 빠르게 시작하려고 합니다. HealthOmics는 GitHub의 nf-core 리포지토리에서 모든 워크플로 정의 및 입력 파라미터 템플릿 파일을 자동으로 검색하고 이러한 파일을 사용하여 새 워크플로를 생성합니다.

  2. GitHub의 퍼블릭 워크플로를 사용 중이며 일부 새 업데이트를 사용할 수 있게 됩니다. GitHub의 업데이트된 워크플로 정의를 소스로 사용하여 새 HealthOmics 워크플로 버전을 쉽게 생성할 수 있습니다. 워크플로 사용자는 원래 워크플로 또는 생성한 새 워크플로 버전 중에서 선택할 수 있습니다.

  3. 팀이 공개되지 않은 독점 파이프라인을 구축하고 있습니다. 코드를 프라이빗 git 리포지토리에 보관하고이 워크플로 정의를 HealthOmics 워크플로에 사용합니다. 팀은 반복 워크플로 개발 수명 주기의 일부로 워크플로 정의를 자주 업데이트합니다. 프라이빗 리포지토리에서 필요에 따라 새 워크플로 버전을 쉽게 생성할 수 있습니다.

지원되는 Git 기반 리포지토리

HealthOmics는 다음 Git 기반 공급자에 대한 퍼블릭 및 프라이빗 리포지토리를 지원합니다.

  • GitHub

  • GitLab

  • Bitbucket

HealthOmics는 다음 Git 기반 공급자에 대해 자체 관리형 리포지토리를 지원합니다.

  • GitHubEnterpriseServer

  • GitLabSelfManaged

HealthOmics는 GitHub, GitLab 및 Bitbucket에 대한 교차 계정 연결 사용을 지원합니다. AWS Resource Access Manager를 통해 공유 권한을 설정합니다. 예제는 CodePipeline 사용 설명서공유 연결을 참조하세요.

외부 코드 리포지토리에 대한 연결 구성

AWS CodeConnection을 사용하여 워크플로를 Git 기반 리포지토리에 연결합니다. HealthOmics는이 연결을 사용하여 소스 코드 리포지토리에 액세스합니다.

참고

AWS CodeConnections 서비스는 TLV 리전에서 사용할 수 없습니다. 이 리전의 경우 리포지토리에서 워크플로 또는 워크플로 버전을 생성하도록 서비스 IAD 연결을 구성합니다.

연결 생성

연결을 생성하려면 먼저 개발자 콘솔 도구 사용 설명서연결 설정 지침을 따르세요.

연결을 생성하려면 개발자 콘솔 도구 사용 설명서연결 생성의 지침을 따르세요.

연결에 대한 권한 부여 구성

공급자의 OAuth 흐름을 사용하여 연결을 승인해야 합니다. 연결 상태를 사용하기 AVAILABLE 전에 상태가 인지 확인합니다.

예제는 블로그 게시물 How To Create a AWS HealthOmics Workflows from Content in Git를 참조하세요.

자체 관리형 리포지토리 액세스

GitLab 자체 관리형 리포지토리에 대한 연결을 설정하려면 호스트를 생성할 때 관리자 개인 액세스 토큰을 사용합니다. 후속 연결 생성은 고객 계정으로 Oauth에 액세스합니다.

다음 예시에서는 GitLab 자체 관리형 리포지토리에 대한 연결을 설정합니다.

  1. 관리자 사용자의 개인 액세스 토큰에 대한 액세스를 설정합니다.

    GitLab 자체 관리형 리포지토리에서 PAT를 설정하려면 GitLab Docs의 개인 액세스 토큰을 참조하세요. GitLab

  2. 호스트 생성

    1. CodePipeline>설정>연결로 이동합니다.

    2. 호스트 탭을 선택한 다음 호스트 생성을 선택합니다.

    3. 다음 필드를 구성합니다.

      • 호스트의 이름을 입력합니다.

      • 공급자 유형에서 GitLab 자체 관리형을 선택합니다.

      • 호스트 URL을 입력합니다.

      • 호스트가 VPC에 정의된 경우 VPC 정보를 입력합니다.

    4. 호스트 생성을 선택하면 호스트가 PENDING 상태로 생성됩니다.

    5. 설정을 완료하려면 호스트 설정을 선택합니다.

    6. 관리자 사용자의 개인 액세스 토큰(PAT)을 입력한 다음 계속을 선택합니다.

  3. 연결 생성

    1. 연결 탭에서 연결 생성을 선택합니다.

    2. 공급자 유형에서 GitLab 자체 관리형을 선택합니다.

    3. 연결 설정>연결 이름 입력에서 이전에 생성한 호스트 URL을 입력합니다.

    4. GitLab 자체 관리형 인스턴스에 VPC를 통해서만 액세스할 수 있는 경우 VPC 세부 정보를 구성합니다.

    5. 연결 보류 업데이트를 선택합니다. 모달 창은 GitLab 로그인 페이지로 다시 이동합니다.

    6. 고객 계정의 사용자 이름과 암호를 입력하고 권한 부여 프로세스를 완료합니다.

    7. 처음 설정하려면 Authorize AWS Connector for Gitlab Self Managed를 선택합니다.

외부 코드 리포지토리와 관련된 할당량

외부 코드 리포지토리와 HealthOmics 통합의 경우 리포지토리, 각 리포지토리 파일 및 각 README 파일의 최대 크기가 있습니다. 자세한 내용은 HealthOmics 워크플로 고정 크기 할당량을 참조하세요.

필수 IAM 권한

자격 증명 기반 IAM 정책에 다음 작업을 추가합니다.

"codeconnections:CreateConnection", "codeconnections:GetConnection", "codeconnections:GetHost", "codeconnections:ListConnections", "codeconnections:UseConnection"