GitLab Duo 개념 - Amazon Q Developer

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

GitLab Duo 개념

다음은 GitLab Duo Amazon Q와 함께를 사용할 때 알아야 할 몇 가지 개념과 용어입니다.

Amazon QGitLab Duo로 구성

GitLab에서 Amazon Q 인공 지능(AI) 기능을 사용하려면 먼저 다음을 수행해야 합니다.

자격 AWS 증명 공급자를 통한 온보딩 및 IAM 역할 생성

GitLab Duo 온보딩 프로세스의 일환으로 Amazon Q Developer 콘솔을 통해 Amazon Q Developer 프로필을 생성해야 합니다. 프로필을 사용하면 자격 증명 공급자의 사용자 전체 또는 일부에 대한 사용자 지정 및 제어 설정을 생성할 수 있습니다. 프로필을 생성한 후 GitLab Duo와 AWS 계정 간에 신뢰를 설정하려면 OpenID Connect(OIDC) ID 제공업체(IdP)와 IAM 서비스 역할이 필요합니다. 필요한 리소스를 생성하고 Amazon QGitLab Duo로 설정하는 방법을 알아보려면 GitLab 설명서Amazon QGitLab Duo로 설정을 참조하세요.

새 IAM 역할이 생성되면 필요한 권한이 있는 필수 신뢰 정책도 생성됩니다. 역할 신뢰 정책은 IAM의 역할에 연결된 필수 리소스 기반 정책입니다.

Amazon Q와 연결하고 Amazon Q 통합을 통해의 기능을 활용할 수 GitLab Duo 있는 권한을 부여하는 권한 정책을 추가해야 합니다. IAM 역할을 생성할 때 정책을 추가해야 합니다. 권한 정책에서 제공하는 권한에 대한 자세한 내용은 섹션을 참조하세요GitLabDuoWithAmazonQPermissionsPolicy.

또는 인라인 정책을 생성하고 필요한 권한을 추가할 수 있습니다. 사용자 지정 액세스 제어를 원하는 경우 인라인 정책을 생성하도록 선택할 수 있습니다. 자세한 내용은 IAM 사용 설명서의 AWS Identity and Access Management의 관리형 정책 및 인라인 정책 및 정책 및 권한을 참조하세요. AWS Identity and Access Management

신뢰 정책

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRoleWithWebIdentity", "Principal": { "Federated": "arn:aws:iam::{{AWS_Account_ID}}:oidc-provider/auth.token.gitlab.com/cc/oidc/{{Instance_ID}}" }, "Condition": { "StringEquals": { "auth.token.gitlab.com/cc/oidc/{{Instance_ID}}:aud": "gitlab-cc-{{Instance_ID}}" }, } } ] }

권한 정책

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GitLabDuoUsagePermissions", "Effect": "Allow", "Action": [ "q:SendEvent", "q:CreateAuthGrant", "q:UpdateAuthGrant", "q:GenerateCodeRecommendations", "q:SendMessage", "q:ListPlugins", "q:VerifyOAuthAppConnection" ], "Resource": "*" }, { "Sid": "GitLabDuoManagementPermissions", "Effect": "Allow", "Action": [ "q:CreateOAuthAppConnection", "q:DeleteOAuthAppConnection" ], "Resource": "*" }, { "Sid": "GitLabDuoPluginPermissions", "Effect": "Allow", "Action": [ "q:CreatePlugin", "q:DeletePlugin", "q:GetPlugin" ], "Resource": "arn:aws:qdeveloper:*:*:plugin/GitLabDuoWithAmazonQ/*" } ] }

선택적으로 키의 수명 주기 및 사용을 완전히 제어하려는 경우 고객 관리형 키(CMK)를 사용하여 리소스를 암호화할 수도 있습니다. 콘텐츠 암호화 및 복호화에 CMK를 사용할 수 있는 사용자를 제한하는 kms:ViaService 조건 키입니다. 자세한 내용은 타사 통합을 위한 Amazon Q Developer에 대한 액세스 관리 단원을 참조하십시오.

GitLab 빠른 작업

호출 시 빠른 작업은 GitLab 문제 및 병합 요청에서 작업을 수행합니다. GitLab에서 빠른 작업을 호출하는 방법을 알아보려면 GitLab 설명서를 참조하세요.

병합 요청 생성 및 반복

  • /q dev - GitLab 문제에 캡처된 상위 수준 아이디어에서 Amazon Q가 제안된 코드 구현으로 ready-to-review 가능한 병합 요청을 생성하도록 할 수 있습니다. 이렇게 하면 개념을 작업 코드로 전환하는 프로세스를 간소화할 수 있습니다. 병합 요청은 새 브랜치에 생성되고 Amazon Q는 문제 생성자를 병합 요청 검토자로 할당합니다. 병합 요청 요약도 제공됩니다. 자세한 내용은 아이디어를 병합 요청으로 전환을 참조하세요.

  • /q dev (개정) - 문제에서 다시 시작하지 않고 Amazon Q에서 제공하는 제안된 코드 구현을 반복할 수 있습니다. Amazon Q는 피드백을 검토하고 원래 생성된 코드를 업데이트합니다. 또한 각 변경 사항에 대한 커밋 메시지도 제공됩니다. 각 반복 후 설명이 업데이트되고 피드백을 설명하는 설명이 반복에 통합됩니다. 그런 다음 제안을 검토하고 코드에 병합할 수 있습니다. 자세한 내용은 피드백을 기반으로 코드 변경하기를 참조하세요.

코드 변환

  • /q transform - Java Maven 8 또는 Java Maven 11에서 Java Maven 17 프로젝트로 업그레이드 프로세스를 시작할 수 있습니다. GitLab 문제부터 Amazon Q는 코드를 분석하여 필요한 Java 업그레이드 또는 현대화를 결정하고, 문제를 업데이트하고, 제안된 변경 사항이 포함된 새 병합 요청을 자동으로 열고, 문제 생성자를 검토자로 할당합니다. 빌드하려면 GitLab Runner 설정이 필요하며 코드 변환을 위해 사용자 지정해야 합니다. 자세한 내용은 코드 변환을 위한 CI/CD 파이프라인 사용자 지정Java 업그레이드를 참조하세요.

    참고

    코드를 변환하려면 먼저 Maven 프로젝트의 소스 버전을 식별해야 하므로 pom.xml 파일 내에서 컴파일러 설정을 설정해야 합니다. 따라서 pom.xml 파일에 소스와 대상이 있어야 합니다.

단위 테스트 생성

  • /q test - 병합 요청에서 새로 추가된 소스 코드 줄에 대한 단위 테스트를 생성할 수 있습니다. 테스트 파일에 추가할 수 있는 단위 테스트 제안이 포함된 Amazon Q 설명입니다. 생성된 테스트를 한 번에 적용하거나 적용하기 전에 각 테스트를 개별적으로 검토할 수 있습니다. 병합 요청에서 테스트 파일을 찾을 수 없는 경우 Amazon Q는 테스트 파일에 수동으로 추가할 수 있는 단위 테스트를 제공합니다. 자세한 내용은 테스트 적용 범위 생성을 참조하세요.

코드 검토

  • /q review - Amazon Q를 사용하여에서 병합 요청 검토를 시작할 수 GitLab Duo 있습니다. 새 병합 요청에 대해 자동 코드 검토가 시작됩니다. GitLab 관리자는 자동 검토를 끄도록 Amazon Q를 구성할 수도 있습니다. 자동 코드 검토는 Amazon Q가 병합 요청에 대한 코드 수정을 생성하고 제안할 때 잠재적 문제를 식별하고 수정합니다. 품질 검사, 문제 분석, 논리적 오류, 안티 패턴, 코드 중복 등을 제공합니다.

    Amazon Q는 주석과 함께 코드 분석을 제공하며 각 주석은 별도의 결과를 제공합니다. 이 빠른 작업은 모든 언어에서 사용할 수 있습니다. 새 병합 요청을 열거나 이전에 닫은 요청을 다시 열면 자동 코드 검토가 시작됩니다. 그러나 자동 코드 검토는 기존 병합 요청 내에서 이루어진 후속 커밋에 의해 트리거되지 않습니다. /q review 빠른 작업을 사용하여 코드 검토를 수동으로 트리거할 수 있습니다.

    GitLab 인스턴스 또는 그룹 내의 모든 새 병합 요청에서 자동으로 실행되도록 코드 검토를 구성할 수 있습니다. 자세한 내용은 병합 요청 검토를 참조하세요.

웹 UI 및 IDEs의 채팅 세션

  • GitLab Duo Chat and Code Suggestions는 Amazon Q와 함께 작동하여 CI/CD 구성, 오류 설명 및 질문 해결을 지원합니다. 채팅 세션에서 슬래시 명령을 사용하여 Amazon Q 채팅 기능으로 GitLab Duo를 호출할 수 있습니다. 자세한 내용은 GitLab Duo Chat에 문의를 참조하세요.