- 사전 요구 사항
- VS 코드에서 GitLab Duo Workflow 사용
- cURL을 사용하여 CI/CD 파이프라인에 대한 GitLab Duo Workflow 실행
- Duo Workflow가 인식하는 컨텍스트
- 현재 제한 사항
- 문제 해결
- 피드백 제공
GitLab Duo Workflow
Offering: GitLab.com
Status: Experiment
Tier: Ultimate
- GitLab 17.4에서
duo_workflow
라는 플래그로 도입되었습니다. 현재 GitLab 팀 멤버만 활성화되어 있는 실험적인 기능입니다.
이 기능은 피처 플래그에 의해 제어됩니다.
자세한 내용은 히스토리를 참조하십시오.
이 기능은 테스트를 위해 내부 GitLab 팀 멤버에게 제공되지만 프로덕션 사용 준비가 되어 있지는 않습니다.
개발 워크플로우에서 작업을 자동화하고 생산성을 높이기 위해 GitLab Duo Workflow를 사용하세요.
GitLab Duo Workflow는 IDE의 일부로 작동하여 제공하는 정보를 활용하고 구현 계획을 수립하는 데 인공 지능을 사용합니다.
GitLab Duo Workflow는 다양한 사용 사례를 지원합니다. 여기에는 몇 가지 예시가 있습니다:
- 새 프로젝트의 기초 설정
- 테스트 작성
- 실패한 파이프라인 수정
- 기존 이슈에 대한 컨셉 증명 구현
- 제안이 포함된 병합 요청에 댓글 달기
- GitLab CI 최적화
이러한 예는 성공적으로 실행된 알려진 GitLab Duo Workflow의 예시입니다. 그러나 더 많은 사용 사례에 활용할 수 있습니다.
사전 요구 사항
VS 코드에서 GitLab Duo Workflow를 사용하려면:
-
VS Code용 GitLab Workflow 확장 프로그램을 설치하십시오.
최소 버전 5.8.0. - VS 코드에서 도커 소켓 파일 경로를 설정하십시오.
도커 설치 및 소켓 파일 경로 설정
-
스크립트를 다운로드하십시오. 이를 통해 Docker를 다운로드하고 Colima를 사용하여 워크플로우 제네릭 이미지를 추출하고 VS 코드 설정을 업데이트하여 Duo Workflow에 대한 Docker 컨텍스트를 업데이트해야 합니다. Duo Workflow를 실행하기 위해서는 GitLab 컨테이너 레지스트리에 인증해야 합니다. 스크립트를
--dry-run
플래그와 함께 실행하여 스크립트를 통해 설치될 종속성을 확인할 수 있습니다. -
스크립트를 실행하십시오.
chmod +x duo_workflow_runtime.sh ./duo_workflow_runtime.sh
VS 코드에서 GitLab Duo Workflow 사용
GitLab Duo Workflow를 사용하려면:
- VS 코드에서 GitLab 프로젝트를 엽니다.
- 네임스페이스는 Ultimate 구독이어야 합니다.
- 변경하려는 코드의 브랜치를 확인해야 합니다.
- 명령 팔레트에 액세스하십시오:
- Mac: Cmd + Shift + P
- Windows 및 Linux: Ctrl + P.
-
Duo Workflow
를 입력하고 GitLab: Show Duo Workflow를 선택하십시오. - Duo Workflow 패널에서 명령을 입력하고, 병합 요청 ID 및 프로젝트 ID를 입력하십시오. 현재는 복사하여 붙여넣기가 불가능합니다.
- 병합 요청 ID: GitLab에서 ID가 병합 요청 URL에 있습니다.
- 프로젝트 ID: GitLab에서 ID가 프로젝트 개요 페이지에 있습니다. 우측 상단에서 수직 엘리멘트()를 선택하여 확인할 수 있습니다.
cURL을 사용하여 CI/CD 파이프라인에 대한 GitLab Duo Workflow 실행
VS 코드에서 GitLab Workflow를 실행하는 대신 cURL 명령을 사용할 수 있습니다. 자세한 내용은 핸드북을 참조하십시오.
-
api
범위와 함께 개인 액세스 토큰을 생성하거나ai_workflows
범위와 함께 OAuth 액세스 토큰을 생성하십시오. -
다음 cURL 요청을 사용하여 CI/CD 파이프라인에서 GitLab Workflow를 시작하십시오.
curl POST --verbose \ --header "Authorization: Bearer $YOUR_GITLAB_PAT" \ --header "Content-Type: application/json" \ --data '{ "project_id": "$PROJECT_ID_FOR_RUNNING_WORKFLOW_AGAINST", "start_workflow": true, "goal": "Fix the pipeline for merge request X in project Y." }' \ --location 'https://gitlab.com/api/v4/ai/duo_workflows/workflows'
응답은 파이프라인 ID여야 합니다. 파이프라인 실행을 보려면 다음으로 이동하십시오:
https://gitlab.com/$namespace/$project/-/pipelines/$pipeline_id
Duo Workflow가 인식하는 컨텍스트
GitLab Duo Workflow는 작업 중인 컨텍스트를 인식합니다. 특히 다음과 같습니다:
영역 | GitLab Duo Workflow를 사용하는 방법 |
---|---|
병합 요청 | Duo Workflow 패널에 병합 요청 ID 및 프로젝트 ID 입력 |
또한, Duo Workflow는 다음에 대한 읽기 전용 액세스가 있습니다:
- 프로젝트 및 병합 요청 정보를 가져오기 위한 GitLab API.
- 병합 요청의 CI 파이프라인 트레이스를 사용하여 파이프라인 작업 실행 중의 오류를 찾습니다.
현재 제한 사항
Duo Workflow에는 다음과 같은 제한 사항이 있습니다:
- 복사하여 붙여넣기 기능이 없습니다. 자세한 내용은 이슈 380을 참조하십시오.
- 테마 지원이 없습니다.
- 프로젝트별 워크플로우 실행만 가능합니다.
문제 해결
문제가 발생하는 경우:
- VS 코드에서 열려 있는 프로젝트가 상호 작용하려는 GitLab 프로젝트에 해당하는지 확인하십시오.
- 해당 브랜치를 체크아웃했는지 확인하십시오.
- Docker 및 Docker 소켓 구성을 확인하십시오:
- 설정 지침을 다시 따르십시오.
-
Colima를 사용하여 문제를 겪고 있는 경우 다시 시작해 보십시오.
colima stop colima start
- 권한 문제의 경우, 운영 체제 사용자가 필요한 Docker 권한을 갖고 있는지 확인하십시오.
- Language Server 로그를 확인하십시오:
- VS 코드에서 로그를 열려면 보기 > 출력을 선택하십시오. 하단의 출력 패널에서 오른쪽 상단에 있는 목록에서 GitLab Workflow 또는 GitLab Language Server를 선택하십시오.
- 오류, 경고, 연결 문제 또는 인증 문제를 검토하십시오.
- 로그에서 더 많은 출력을 원하는 경우 설정을 엽니다:
- Mac: Cmd + ,
- Windows 및 Linux: Ctrl + ,
- GitLab: Debug 설정을 검색하여 활성화하십시오.
- Duo Workflow Service production LangSmith trace를 검토하십시오.
피드백 제공
Duo Workflow는 실험이며 여러분의 피드백이 매우 중요합니다. 문제를 보고하거나 개선 제안을 하려면 이 설문조사를 완료해주세요.