패키지 레지스트리의 PyPI 패키지
GitLab 패키지 레지스트리에서 PyPI 패키지를 게시, 설치, 관리하는 방법.
Python 패키지 인덱스(PyPI)는 Python의 공식 서드파티 소프트웨어 저장소입니다. GitLab PyPI 패키지 레지스트리를 사용하여 GitLab 프로젝트, 그룹 및 조직에서 Python 패키지를 게시하고 공유할 수 있습니다. 이 통합을 통해 코드와 함께 Python 종속성을 관리하여 GitLab 내에서 Python 개발을 위한 원활한 워크플로를 제공합니다. 패키지 레지스트리는 다음과 함께 작동합니다: pip twine pip 및 twine 클라이언트가 사용하는 특정 API 엔드포인트 문서는 PyPI API 문서 를 참조하세요. PyPI 패키지를 빌드하는 방법 을 알아보세요. 패키지 요청 전달 보안 공지 # GitLab PyPI 패키지 레지스트리를 사용할 때, GitLab 레지스트리에서 찾을 수 없는 패키지 요청은 자동으로 pypi.org 로 전달됩니다. 이 동작으로 인해 --index-url 플래그를 사용하더라도 pypi.org 에서 패키지가 다운로드될 수 있습니다. 비공개 패키지 작업 시 최대 보안을 위해: 그룹 설정에서 패키지 전달을 끕니다. 패키지를 설치할 때 --index-url 및 --no-index 플래그를 모두 사용합니다. 사전 요구 사항: 그룹에 대한 Owner 권한이 있어야 합니다. 패키지 요청 전달을 끄려면: 상단 바에서 검색 또는 이동 을 선택하고 그룹을 찾습니다. Settings > Packages and registries 를 선택합니다. Package forwarding 아래에서 Forward PyPI package requests 체크박스를 지웁니다. Admin 영역에서 패키지 전달을 끄는 방법은 패키지 전달 제어 를 참조하세요. GitLab 패키지 레지스트리로 인증 # GitLab 패키지 레지스트리와 상호 작용하기 전에 인증해야 합니다. 다음으로 인증할 수 있습니다: 범위가 api 로 설정된 개인 액세스 토큰 . 범위가 read_package_registry , write_package_registry 또는 둘 다로 설정된 배포 토큰 . CI/CD Job 토큰 . 여기에 문서화된 방법 이외의 인증 방법을 사용하지 마세요. 문서화되지 않은 인증 방법은 나중에 제거될 수 있습니다. GitLab 토큰으로 인증하려면: TWINE_USERNAME 및 TWINE_PASSWORD 환경 변수를 업데이트합니다. 예를 들면: With a personal access token With a deploy token With a CI/CD job token run: image: python:latest variables: TWINE_USERNAME: <personal_access_token_name> TWINE_PASSWORD: <personal_access_token> script: - pip install build twine - python -m build - python -m twine upload --repository-url ${CI_API_V4_URL}/projects/${CI_PROJECT
