기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
GitLab Duo 개념
다음은 GitLab Duo Amazon Q와 함께
Amazon QGitLab Duo로 구성
GitLab에서 Amazon Q 인공 지능(AI) 기능을 사용하려면 먼저 다음을 수행해야 합니다.
-
GitLab 17.8.0
이상이 설치된 자체 관리형 인스턴스 가 있어야 합니다. -
Amazon Q를 사용하여 GitLab Ultimate 구독
을 해야 합니다(평가판 액세스 없음). -
GitLab Duo 기능을 켭니다(실험 및 베타 기능은 기본적으로 꺼짐). 자세한 내용은 베타 및 실험 기능 켜기를
참조하세요. -
GitLab용 IAM 자격 증명 공급자를 생성합니다. 자세한 내용은 GitLab 설명서의 IAM 자격 증명 공급자 생성을
참조하세요. -
특정 권한을 사용해야 하는 GitLab에서 Amazon Q에 액세스할 수 있는 IAM 자격 증명 공급자를 신뢰하는 IAM 역할을 생성합니다. 자세한 내용은 GitLab 설명서의 IAM 역할 생성을
참조하세요.
자격 AWS 증명 공급자를 통한 온보딩 및 IAM 역할 생성
GitLab Duo 온보딩 프로세스의 일환으로 Amazon Q Developer 콘솔을 통해 Amazon Q Developer
새 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에 문의
를 참조하세요.