GitLab Duo Workflow

Offering: GitLab.com
Status: Experiment
Tier: Ultimate
  • 소개됨 GitLab 17.4에서 duo_workflow라는 플래그와 함께 사용 가능. GitLab 팀 구성원만 사용할 수 있습니다. 이 기능은 실험입니다.

이 기능의 사용 가능성은 기능 플래그에 의해 제어됩니다.
자세한 정보는 이력을 참조하세요.
이 기능은 내부 GitLab 팀 구성원이 테스트할 수 있도록 제공되지만, 프로덕션 사용을 위한 준비는 되어 있지 않습니다.

작업을 자동화하고 개발 워크플로우에서 생산성을 높이기 위해 GitLab Duo Workflow를 사용하세요.

GitLab Duo Workflow는 IDE의 일부로, 제공한 정보를 사용하여 AI가 구현 계획을 안내합니다.

GitLab Duo Workflow는 다양한 사용 사례를 지원합니다. 다음은 몇 가지 예입니다:

  • 새로운 프로젝트 부트스트래핑
  • 테스트 작성
  • 실패한 파이프라인 수정
  • 기존 문제에 대한 개념 증명을 구현
  • 제안이 포함된 Merge Request에 댓글 달기
  • GitLab CI 최적화

이것들은 성공적으로 실행된 알려진 GitLab Duo Workflow의 예이지만, 더 많은 사용 사례에 사용할 수 있습니다.

필수 조건

VS Code에서 GitLab Duo Workflow를 사용하기 전에:

  1. VS Code용 GitLab Workflow 확장 프로그램을 설치하세요.
    최소 버전은 5.8.0입니다.
  2. VS Code에서 Docker 소켓 파일 경로를 설정하세요.

Docker 설치 및 소켓 파일 경로 설정

  1. 스크립트를 다운로드하세요. 이 스크립트는 Docker, Colima를 다운로드하고, 워크플로우 일반 이미지를 가져오며, Duo Workflow를 위한 Docker 컨텍스트를 업데이트하기 위해 VS Code 설정을 업데이트합니다. 일반 워크플로우 이미지를 가져오기 위해 GitLab 컨테이너 레지스트리에 인증을 받아야 합니다. 스크립트를 --dry-run 플래그와 함께 실행하여 설치될 종속성을 확인할 수 있습니다.
  2. 스크립트를 실행하세요.

         chmod +x duo_workflow_runtime.sh  
         ./duo_workflow_runtime.sh  
    

VS Code에서 GitLab Duo Workflow 사용

GitLab Duo Workflow를 사용하려면:

  1. VS Code에서 GitLab 프로젝트를 엽니다.
    • 네임스페이스는 Ultimate 구독이 있어야 합니다.
    • 변경하려는 코드를 위한 브랜치를 체크아웃해야 합니다.
  2. 명령 팔레트에 접근합니다:
    • Mac: Cmd + Shift + P
    • Windows와 Linux: Ctrl + P.
  3. Duo Workflow를 입력하고 GitLab: Show Duo Workflow를 선택합니다.
  4. Duo Workflow 패널에서 명령과 함께 merge request ID 및 project ID를 입력합니다. 복사-붙여넣기는 현재 불가능합니다.
    • Merge request ID: GitLab에서 ID는 merge request URL에 있습니다.
    • Project ID: GitLab에서 ID는 프로젝트 개요 페이지에 있습니다. 오른쪽 상단의 수직 줄임표 ( )를 선택하여 확인합니다.

cURL을 사용하여 CI/CD 파이프라인에 대해 GitLab Duo Workflow 실행하기

VS Code에서 GitLab Workflow를 실행하는 대신 cURL 명령을 사용할 수 있습니다. 자세한 내용은
핸드북을 참조하세요.

  1. api 범위로 개인 액세스 토큰을 생성하거나 ai_workflows 범위로 OAuth 액세스 토큰을 생성합니다.

  2. 다음 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": "프로젝트 Y의 병합 요청 X에 대한 파이프라인 수정하기."
       }' \
       --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을 참조하세요.
  • 테마 지원이 없습니다.
  • 프로젝트 특정 워크플로우 실행만 가능합니다.

문제 해결

문제가 발생하면:

  1. VS Code에서 열려 있는 프로젝트가 상호 작용하려는 GitLab 프로젝트에 해당하는지 확인하세요.

  2. 브랜치를 체크아웃했는지 확인하세요.

  3. Docker 및 Docker 소켓 구성을 확인하세요:
    1. 설정 지침을 다시 따르세요.
    2. Colima를 사용 중이고 문제가 발생하면 재시작해 보세요:

      colima stop
      colima start
      
    3. 권한 문제의 경우 운영 체제 사용자에게 필요한 Docker 권한이 있는지 확인하세요.
  4. Language Server 로그를 확인하세요:
    1. VS Code에서 로그를 열려면 보기 > 출력을 선택하세요. 하단의 출력 패널에서 오른쪽 상단 모서리에서 GitLab Workflow 또는 GitLab Language Server를 선택하세요.
    2. 오류, 경고, 연결 문제 또는 인증 문제를 검토하세요.
    3. 로그에서 더 많은 출력을 보려면 설정을 열어보세요:
      • Mac: Cmd + ,
      • Windows 및 Linux: Ctrl + ,
    4. 설정 GitLab: Debug를 검색하고 활성화하세요.
  5. Duo Workflow Service 프로덕션 LangSmith 트레이스를 검토하세요.

피드백 제공

Duo Workflow는 실험이며 귀하의 피드백이 매우 중요합니다. 문제를 보고하거나 개선 사항을 제안하려면,
이 설문조사를 작성하세요.