Visual Studio Code에서 dbx 사용
Important
이 설명서는 사용 중지되었으며 업데이트되지 않을 수 있습니다.
Databricks에서는 Databricks Labs의 dbx
대신 Databricks Asset Bundles를 사용하는 것이 좋습니다. Databricks 자산 번들이란?을 참조하고 dbx에서 번들로 마이그레이션하세요.
Visual Studio Code에서 Azure Databricks를 사용하려면 Visual Studio Code용 Databricks 확장 문서를 참조하세요.
이 문서에서는 모든 Python 호환 IDE에서 작업할 수 있는 Python 기반 코드 샘플을 설명합니다. 특히 이 문서에서는 다음 개발자 생산성 기능을 제공하는 Visual Studio Code에서 이 코드 샘플을 사용하는 방법을 설명합니다.
이 문서에서는 Visual Studio Code와 함께 Databricks Labs의 dbx를 사용하여 원격 Azure Databricks 작업 영역에 코드 샘플을 제출합니다. dbx
은(는) Azure Databricks가 예약 및 오케스트레이션 워크플로에 해당 작업 영역의 Azure Databricks 작업 클러스터에서 제출된 코드를 실행하도록 지시합니다.
코드의 버전 제어, 연속 통합, 지속적인 업데이트 또는 지속적인 배포(CI/CD)를 위해 널리 사용되는 타사 Git 공급자를 사용할 수 있습니다. 버전 제어를 위해 이러한 Git 공급자에는 다음이 포함됩니다.
- GitHub
- Bitbucket
- GitLab
- Azure DevOps(Azure 중국 지역에서는 지원되지 않음)
- AWS CodeCommit
- GitHub AE
CI/CD의 경우 dbx
는 다음 CI/CD 플랫폼을 지원합니다.
버전 제어 및 CI/CD가 작동하는 방식을 보여 주기 위해 이 문서에서는 GitHub 및 GitHub Actions과 함께 Visual Studio Code, dbx
및 이 코드 샘플을 사용하는 방법을 설명합니다.
코드 샘플 요구 사항
이 코드 샘플을 사용하려면 다음이 필요합니다.
- Azure Databricks 계정의 Azure Databricks 작업 영역.
- GitHub 계정. 아직 계정이 없으면 GitHub 계정을 만듭니다.
또한 로컬 개발 컴퓨터에 다음이 있어야 합니다.
Python 버전 3.8 이상
대상 클러스터에 설치된 것과 일치하는 Python 버전을 사용해야 합니다. 기존 클러스터에 설치된 Python 버전을 얻으려면 클러스터의 웹 터미널을 사용하여
python --version
명령을 실행할 수 있습니다. 대상 클러스터의 Databricks Runtime 버전용으로 Databricks Runtime 릴리스 노트 버전 및 호환성의 "시스템 환경" 섹션을 참조하세요. 어쨌든 Python 버전은 3.8 이상이어야 합니다.현재 로컬 컴퓨터에서 참조되는 Python 버전을 가져오려면 로컬 터미널에서
python --version
을 실행합니다. (로컬 컴퓨터에서 Python을 설정하는 방법에 따라 이 문서 전체에서python
대신python3
을 실행해야 할 수도 있습니다.) Python 인터프리터 선택도 참조하세요.pip.
pip
는 최신 버전의 Python과 함께 자동으로 설치됩니다.pip
가 이미 설치되어 있는지 확인하려면 로컬 터미널에서pip --version
을 실행합니다. (로컬 컴퓨터에서 Python 또는pip
를 설정하는 방법에 따라 이 문서 전체에서pip
대신pip3
을 실행해야 할 수도 있습니다.)dbx 버전 0.8.0 이상
pip install dbx
를 실행하여 PyPI(Python 패키지 인덱스)에서dbx
패키지를 설치할 수 있습니다.참고 항목
지금
dbx
를 설치할 필요가 없습니다. 나중에 코드 샘플 설정 섹션에서 설치할 수 있습니다.dbx
프로젝트에서 올바른 버전의 Python 및 패키지 종속성을 사용하고 있는지 확인하기 위해 Python 가상 환경을 만드는 방법입니다. 이 문서에서는 pipenv를 다룹니다.인증을 사용하여 설정된, Databricks CLI 버전 0.18 또는 그 이하
참고 항목
이제 레거시 Databricks CLI(Databricks CLI 버전 0.17)를 설치할 필요가 없습니다. 나중에 코드 샘플 설정 섹션에서 설치할 수 있습니다. 나중에 설치하려는 경우 대신 인증을 설정해야 합니다.
Visual Studio Code용 Python 확장
Visual Studio Code용 GitHub 끌어오기 요청 및 문제 확장입니다.
코드 샘플 정보
GitHub의 databricks/ide-best-practices 리포지토리에서 사용할 수 있는 이 문서의 Python 코드 샘플은 다음을 수행합니다.
- GitHub의 owid/covid-19-data 리포지토리에서 데이터를 가져옵니다.
- 특정 ISO 국가 코드에 대한 데이터를 필터링합니다.
- 데이터에서 피벗 테이블을 만듭니다.
- 데이터에 대한 데이터 정리를 수행합니다.
- 코드 논리를 재사용 가능한 함수로 모듈화합니다.
- 단위는 함수를 테스트합니다.
- 코드가 원격 Azure Databricks 작업 영역의 Delta 테이블에 데이터를 쓸 수 있도록
dbx
프로젝트 구성 및 설정을 제공합니다.
코드 샘플 설정
이 코드 샘플에 대한 요구 사항을 설정한 후 다음 단계를 완료하여 코드 샘플 사용을 시작합니다.
참고 항목
이 단계에는 CI/CD에 대한 이 코드 샘플 설정이 포함되지 않습니다. 이 코드 샘플을 실행하기 위해 CI/CD를 설정할 필요가 없습니다. 나중에 CI/CD를 설정하려면 GitHub Actions로 실행을 참조하세요.
1단계: Python 가상 환경 만들기
터미널에서 이 코드 샘플에 대한 가상 환경을 포함할 빈 폴더를 만듭니다. 이 지침은
ide-demo
라는 부모 폴더를 사용합니다. 이 폴더에 원하는 이름을 지정할 수 있습니다. 다른 이름을 사용하는 경우 이 문서 전체에서 이름을 바꿉니다. 폴더를 만든 후 해당 폴더로 전환한 다음 해당 폴더에서 Visual Studio Code를 시작합니다.code
명령 뒤에 점(.
)을 포함해야 합니다.Linux 및 macOS의 경우:
mkdir ide-demo cd ide-demo code .
팁
command not found: code
오류가 발생하면 Microsoft 웹 사이트에서 명령줄에서 실행을 참조하세요.Windows의 경우:
md ide-demo cd ide-demo code .
Visual Studio Code의 메뉴 모음에서 > 터미널 뷰를 클릭합니다.
ide-demo
폴더의 루트에서 다음 옵션을 사용하여pipenv
명령을 실행합니다. 여기서<version>
은(는) 이미 로컬로 설치한 Python의 대상 버전입니다(이상적으로는 대상 클러스터의 Python 버전과 일치하는 버전, 예:3.8.14
).pipenv --python <version>
다음 단계에서 필요하므로
pipenv
명령의Virtualenv location
출력에 있는 값을 기록해 둡니다.대상 Python 인터프리터를 선택한 다음, Python 가상 환경을 활성화합니다.
메뉴 모음에서 보기 > 명령 팔레트를 클릭하고
Python: Select
을(를) 입력한 다음 Python: 인터프리터 선택을 클릭합니다.방금 만든 Python 가상 환경의 경로 내에서 Python 인터프리터를 선택합니다. (이 경로는
pipenv
명령 출력의Virtualenv location
값으로 나열됩니다.)메뉴 모음에서 보기 > 명령 팔레트를 클릭하고
Terminal: Create
을(를) 입력한 다음 터미널: 새 터미널 만들기를 클릭합니다.명령 프롬프트가
pipenv
셸에 있음을 나타내는지 확인합니다. 확인하려면 명령 프롬프트 앞에(<your-username>)
와 같은 내용이 표시되어야 합니다. 표시되지 않으면 다음 명령을 실행합니다.pipenv shell
pipenv
셸을 종료하려면exit
명령을 실행하면 괄호가 사라집니다.
자세한 내용은 Visual Studio Code 설명서의 VS Code에서 Python 환경 사용을 참조하세요.
2단계: GitHub에서 코드 샘플 복제
- Visual Studio Code에서 아직 열려 있지 않은 경우
ide-demo
폴더(파일 > 폴더 열기)를 엽니다. - > 명령 팔레트 보기를 클릭하고
Git: Clone
을 입력한 다음 Git: 복제를 클릭합니다. - 리포지토리 URL 제공 또는 리포지토리 원본 선택에
https://github.com/databricks/ide-best-practices
를 입력합니다. ide-demo
폴더를 찾아 리포지토리 위치 선택을 클릭합니다.
3단계: 코드 샘플의 종속성 설치
Python 버전과 호환되는 버전의
dbx
및 Databricks CLI 버전 0.18 또는 그 이하를 설치하세요. 이렇게 하려면 터미널의 Visual Studio Code에서pipenv
셸이 활성화된ide-demo
폴더(pipenv shell
)에서 다음 명령을 실행합니다.pip install dbx
dbx
가 설치되었는지 확인합니다. 이렇게 하려면 다음 명령을 실행합니다.dbx --version
버전 번호가 반환되면
dbx
가 설치됩니다.버전 번호가 0.8.0 미만이면 다음 명령을 실행하여
dbx
를 업그레이드한 다음, 버전 번호를 다시 확인합니다.pip install dbx --upgrade dbx --version # Or ... python -m pip install dbx --upgrade dbx --version
dbx
을(를) 설치하면 레거시 Databricks CLI(Databricks CLI 버전 0.17)도 자동으로 설치됩니다. 레거시 Databricks CLI(Databricks CLI 버전 0.17)가 설치되었는지 확인하려면 다음 명령을 실행합니다.databricks --version
Databricks CLI 버전 0.17이 반환되면 레거시 Databricks CLI가 설치됩니다.
인증을 사용하여 레거시 Databricks CLI(Databricks CLI 버전 0.17)를 설정하지 않은 경우 지금 설정해야 합니다. 인증이 설정되었는지 확인하려면 다음 기본 명령을 실행하여 Azure Databricks 작업 영역에 대한 몇 가지 요약 정보를 가져옵니다.
ls
하위 명령 뒤에 슬래시(/
)를 포함해야 합니다.databricks workspace ls /
작업 영역의 루트 수준 폴더 이름 목록이 반환되면 인증이 설정된 것입니다.
이 코드 샘플이 의존하는 Python 패키지를 설치합니다. 이렇게 하려면
ide-demo/ide-best-practices
폴더에서 다음 명령을 실행합니다.pip install -r unit-requirements.txt
코드 샘플의 종속 패키지가 설치되어 있는지 확인합니다. 이렇게 하려면 다음 명령을 실행합니다.
pip list
requirements.txt
및unit-requirements.txt
파일에 나열된 패키지가 이 목록의 어딘가에 있으면 종속 패키지가 설치됩니다.참고 항목
requirements.txt
에 나열된 파일은 특정 패키지 버전용입니다. 더 나은 호환성을 위해 Azure Databricks 작업 영역에서 나중에 배포를 실행하는 데 사용할 클러스터 노드 형식과 이러한 버전을 상호 참조할 수 있습니다. Databricks Runtime 릴리스 정보 버전 및 호환성에서 클러스터의 Databricks Runtime 버전에 대한 "시스템 환경" 섹션을 참조하세요.
4단계: Azure Databricks 작업 영역에 대한 코드 샘플 사용자 지정
리포지토리의
dbx
프로젝트 설정을 사용자 지정합니다. 이렇게 하려면.dbx/project.json
파일에서profile
개체의 값을DEFAULT
에서 레거시 Databricks CLI(Databricks CLI 버전 0.17)를 사용하여 인증을 위해 설정한 프로필 이름과 일치하는 프로필 이름으로 변경합니다. 기본이 아닌 프로필을 설정하지 않은 경우DEFAULT
를 그대로 둡니다. 예시:{ "environments": { "default": { "profile": "DEFAULT", "storage_type": "mlflow", "properties": { "workspace_directory": "/Workspace/Shared/dbx/covid_analysis", "artifact_location": "dbfs:/Shared/dbx/projects/covid_analysis" } } }, "inplace_jinja_support": false }
dbx
프로젝트의 배포 설정을 사용자 지정합니다. 이렇게 하려면conf/deployment.yml
파일에서spark_version
및node_type_id
개체의 값을10.4.x-scala2.12
및m6gd.large
에서 Azure Databricks 런타임 버전 문자열 및 클러스터로 변경합니다. Azure Databricks 작업 영역에서 배포를 실행하는 데 사용할 노드 형식입니다.예를 들어 Databricks Runtime 10.4 LTS 및
Standard_DS3_v2
노드 형식을 지정하려면 다음을 수행합니다.environments: default: workflows: - name: "covid_analysis_etl_integ" new_cluster: spark_version: "10.4.x-scala2.12" num_workers: 1 node_type_id: "Standard_DS3_v2" spark_python_task: python_file: "file://jobs/covid_trends_job.py" - name: "covid_analysis_etl_prod" new_cluster: spark_version: "10.4.x-scala2.12" num_workers: 1 node_type_id: "Standard_DS3_v2" spark_python_task: python_file: "file://jobs/covid_trends_job.py" parameters: ["--prod"] - name: "covid_analysis_etl_raw" new_cluster: spark_version: "10.4.x-scala2.12" num_workers: 1 node_type_id: "Standard_DS3_v2" spark_python_task: python_file: "file://jobs/covid_trends_job_raw.py"
팁
이 예에서 이러한 세 가지 작업 정의는 각각 동일한 spark_version
및 node_type_id
값을 가집니다. 다른 작업 정의에 대해 다른 값을 사용할 수 있습니다. 또한 공유 값을 만들고 작업 정의에서 재사용하여 입력 오류와 코드 유지 관리를 줄일 수 있습니다. dbx
설명서에서 YAML 예를 참조하세요.
코드 샘플 살펴보기
코드 샘플을 설정한 후 다음 정보를 사용하여 ide-demo/ide-best-practices
폴더의 다양한 파일이 작동하는 방식에 대해 알아봅니다.
코드 모듈화
모듈화되지 않은 코드
jobs/covid_trends_job_raw.py
파일은 코드 논리의 모듈화되지 않은 버전입니다. 이 파일을 단독으로 실행할 수 있습니다.
모듈화된 코드
jobs/covid_trends_job.py
파일은 코드 논리의 모듈화된 버전입니다. 이 파일은 covid_analysis/transforms.py
파일의 공유 코드에 의존합니다. covid_analysis/__init__.py
파일은 covide_analysis
폴더를 포함하는 패키지로 취급합니다.
테스트
단위 테스트
tests/testdata.csv
파일에는 테스트 목적으로 covid-hospitalizations.csv
파일에 있는 데이터의 작은 부분이 포함되어 있습니다. tests/transforms_test.py
파일에는 covid_analysis/transforms.py
파일에 대한 단위 테스트가 포함되어 있습니다.
단위 테스트 실행기
pytest.ini
파일에는 pytest로 테스트를 실행하기 위한 구성 옵션이 포함되어 있습니다. pytest
설명서에서 pytest.ini 및 구성 옵션을 참조하세요.
.coveragerc
파일에는 coverage.py를 사용한 Python 코드 검사 측정을 위한 구성 옵션이 포함되어 있습니다. coverage.py
설명서에서 구성 참조를 참조하세요.
이전에 pip
로 실행한 unit-requirements.txt
파일의 하위 집합인 requirements.txt
파일에는 단위 테스트도 의존하는 패키지 목록이 포함되어 있습니다.
패키징
setup.py
파일은 setuptools로 Python 프로젝트를 패키지하기 위해 pip
명령과 같이 콘솔에서 실행할 명령(콘솔 스크립트)을 제공합니다. setuptools
설명서에서 진입점을 참조하세요.
기타 파일
이 코드 샘플에는 이전에 설명되지 않은 다른 파일이 있습니다.
.github/workflows
폴더에는 GitHub Actions 섹션의 뒷부분에서 설명하는 GitHub Actions을 나타내는databricks_pull_request_tests.yml
,onpush.yml
,onrelease.yaml
의 세 가지 파일이 있습니다..gitignore
파일에는 Git에서 리포지토리에 대해 무시하는 로컬 폴더 및 파일 목록이 포함되어 있습니다.
코드 샘플 실행
다음 하위 섹션에 설명된 대로 로컬 컴퓨터에서 dbx
를 사용하여 Azure Databricks에 요청 시 원격 작업 영역에서 코드 샘플을 실행하도록 지시할 수 있습니다. 또는 GitHub 리포지토리에 코드 변경 내용을 푸시할 때마다 GitHub에서 코드 샘플을 실행하도록 GitHub Actions를 사용할 수 있습니다.
dbx로 실행
covid_analysis
프로젝트의 루트(예:setuptools
폴더)에서 다음 명령을 실행하여 Pythondbx
개발 모드에서ide-demo/ide-best-practices
폴더의 콘텐츠를 패키지로 설치합니다. 이 명령의 끝에 점(.
)을 포함해야 합니다.pip install -e .
이 명령은
covid_analysis/__init__.py
및covid_analysis/transforms.py
파일의 컴파일된 버전에 대한 정보가 포함된covid_analysis.egg-info
폴더를 만듭니다.다음 명령을 실행하여 테스트를 실행합니다.
pytest tests/
테스트 결과가 터미널에 표시됩니다. 네 가지 테스트 모두 통과로 표시되어야 합니다.
팁
R 및 Scala Notebook 테스트를 포함하여 테스트에 대한 추가 접근 방식은 Notebook에 대한 단위 테스트를 참조하세요.
선택적으로 다음 명령을 실행하여 테스트에 대한 테스트 커버리지 메트릭을 가져옵니다.
coverage run -m pytest tests/
참고 항목
coverage
를 찾을 수 없다는 메시지가 표시되면pip install coverage
를 실행하고 다시 시도합니다.테스트 커버리지 결과를 보려면 다음 명령을 실행합니다.
coverage report -m
네 가지 테스트가 모두 통과하면 다음 명령을 실행하여
dbx
프로젝트의 콘텐츠를 Azure Databricks 작업 영역으로 보냅니다.dbx deploy --environment=default
프로젝트 및 해당 실행에 대한 정보는
.dbx/project.json
파일의workspace_directory
개체에 지정된 위치로 전송됩니다.프로젝트의 콘텐츠는
.dbx/project.json
파일의artifact_location
개체에 지정된 위치로 전송됩니다.다음 명령을 실행하여 작업 영역에서 사전 프로덕션 버전의 코드를 실행합니다.
dbx launch covid_analysis_etl_integ
실행 결과에 대한 링크가 터미널에 표시됩니다. 다음과 같이 표시됩니다.
https://<your-workspace-instance-id>/?o=1234567890123456#job/123456789012345/run/12345
웹 브라우저에서 이 링크를 따라 작업 영역에서 실행 결과를 확인합니다.
다음 명령을 실행하여 작업 영역에서 코드의 프로덕션 버전을 실행합니다.
dbx launch covid_analysis_etl_prod
실행 결과에 대한 링크가 터미널에 표시됩니다. 다음과 같이 표시됩니다.
https://<your-workspace-instance-id>/?o=1234567890123456#job/123456789012345/run/23456
웹 브라우저에서 이 링크를 따라 작업 영역에서 실행 결과를 확인합니다.
GitHub Actions으로 실행
프로젝트의 .github/workflows
폴더에서 onpush.yml
및 onrelease.yml
GitHub Actions 파일은 다음을 수행합니다.
v
로 시작하는 태그로 푸시할 때마다dbx
를 사용하여covid_analysis_etl_prod
작업을 배포합니다.v
(으)로 시작하는 태그가 아닌 각 푸시pytest
를 사용하여 단위 테스트를 실행합니다.dbx
를 사용하여covid_analysis_etl_integ
작업에 지정된 파일을 원격 작업 영역에 배포합니다.dbx
를 사용하여 원격 작업 영역의covid_analysis_etl_integ
작업에 지정된 이미 배포된 파일을 시작하고 완료될 때까지 이 실행을 추적합니다.
참고 항목
추가 GitHub Actions 파일 databricks_pull_request_tests.yml
은 onpush.yml
및 onrelease.yml
GitHub Actions 파일에 영향을 주지 않고 실험할 수 있는 템플릿으로 제공됩니다. databricks_pull_request_tests.yml
GitHub Actions 파일 없이 이 코드 샘플을 실행할 수 있습니다. 이 문서에서는 사용법을 다루지 않습니다.
다음 하위 섹션에서는 onpush.yml
및 onrelease.yml
GitHub Actions 파일을 설정하고 실행하는 방법을 설명합니다.
GitHub Actions을 사용하도록 설정
CI/CD용 서비스 주체의 지침에 따라 Azure Databricks 작업 영역을 설정합니다. 여기에는 다음 동작이 포함됩니다.
- 서비스 주체를 생성합니다.
- 서비스 주체를 위한 Microsoft Entra ID 토큰을 만듭니다.
보안 모범 사례로, Databricks는 작업 공간 사용자를 위한 Databricks 개인 액세스 토큰 대신 서비스 주체를 위한 Microsoft Entra ID 토큰을 사용하여 GitHub가 Azure Databricks 작업 공간에서 인증할 수 있도록 할 것을 권장합니다.
서비스 주체와 해당 Microsoft Entra ID 토큰을 만든 후 중지하고 다음 섹션에서 사용할 Microsoft Entra ID 토큰 값을 메모합니다.
GitHub Actions 실행
1단계: 복제된 리포지토리 게시
- Visual Studio Code의 사이드바에서 GitHub 아이콘을 클릭합니다. 아이콘이 표시되지 않으면 먼저 확장 보기(> 확장 보기)를 통해 GitHub Pull Requests and Issues 확장을 사용하도록 설정합니다.
- 로그인 단추가 보이면 클릭하고 화면상의 지침에 따라 GitHub 계정에 로그인합니다.
- 메뉴 모음에서 > 명령 팔레트 보기를 클릭하고
Publish to GitHub
를 입력한 다음 GitHub에 게시를 클릭합니다. - 복제된 리포지토리를 GitHub 계정에 게시하는 옵션을 선택합니다.
2단계: 리포지토리에 암호화된 비밀 추가
게시된 리포지토리의 GitHub 웹 사이트에서 다음 암호화된 비밀에 대해 리포지토리에 대한 암호화된 비밀 만들기의 지침을 따릅니다.
DATABRICKS_HOST
라는 암호화된 비밀을 만들고 작업 영역별 URL 값으로 설정합니다(예:https://adb-1234567890123456.7.azuredatabricks.net
).- 서비스 주체를 위한 Microsoft Entra ID 토큰 값으로 설정된
DATABRICKS_TOKEN
(이)라는 암호화된 비밀을 만듭니다.
3단계: 분기를 만들고 리포지토리에 게시
- Visual Studio Code의 소스 제어 보기(보기 > 소스 제어)에서 …(보기 및 추가 작업 ) 아이콘입니다.
- 분기 >에서 분기 만들기를 클릭합니다.
- 분기 이름을 입력합니다(예:
my-branch
). - 분기를 만들 분기를 선택합니다(예: main).
- 로컬 리포지토리에 있는 파일 중 하나를 약간 변경한 다음 파일을 저장합니다. 예를 들어,
tests/transforms_test.py
파일의 코드 주석을 약간 변경합니다. - 원본 제어 보기에서 …(보기 및 추가 작업) 아이콘을 다시 클릭합니다.
- 변경 내용 > 모든 변경 내용 준비를 클릭합니다.
- …(보기 및 추가 작업) 아이콘을 다시 클릭합니다.
- 커밋 > 스테이징된 커밋을 클릭합니다.
- 커밋에 대한 메시지를 입력합니다.
- …(보기 및 추가 작업) 아이콘을 다시 클릭합니다.
- 분기 > 분기 게시를 클릭합니다.
4단계: 끌어오기 요청 만들기 및 병합
- 게시된 리포지토리
https://github/<your-GitHub-username>/ide-best-practices
의 GitHub 웹 사이트로 이동합니다. - 끌어오기 요청 탭에서 my-branch가 최근 푸시했습니다 옆에 있는 비교 도구 & 끌어오기 요청을 클릭합니다.
- [끌어오기 요청 만들기]를 클릭합니다.
- 끌어오기 요청 페이지에서 CI 파이프라인/ci-pipeline(푸시) 옆에 있는 아이콘이 녹색 확인 표시를 표시할 때까지 기다립니다. (아이콘이 표시되는 데 몇 분 정도 걸릴 수 있습니다.) 녹색 확인 표시 대신 빨간색 X가 있는 경우 세부 정보를 클릭하여 이유를 확인합니다. 아이콘 또는 세부 정보가 더 이상 표시되지 않으면 모든 검사 표시를 클릭합니다.
- 녹색 확인 표시가 나타나면 끌어오기 요청 병합을 클릭하여 끌어오기 요청을
main
분기에 병합합니다.