-"퍼블릭 및 프라이빗 소스에서 Maven, npm, NuGet 및 Python 패키지 피드를 만들고 공유"
- Maven: 자바용 프로젝트의 라이프 사이클 관리하는 도구
- npm(node package manager): 자바스트립트 패키지 관리 도구 (Node.js에서 사용할 수 있는 모듈들을 패키지화하여 모아둔 저장소 역할과 패키지 설치 및 관리를 위한 CLI를 제공
- Nuget: .NET 프레임워크의 패키지와 C++로 작성된 네이티브 패키지를 지원
: organizational contructs that allow you to store, manage, and group your packages and control who to share it with.
= 패키지를 저장/관리/그룹화하고 공유자를 지정할 수 있는 구성요소로, 패키지의 타입에 상관없이 사용할 수 있으며 여러 종유의 패키지를 하나의 피드에 저장할 수 있다.
이 Feed에 올라온 패키지들을 사용하기 위해서는 "Connect to Feed"를 선택한다.
Python 패키지를 push/pull하기 위한 2가지 방법:
1) Python Credential Provider를 설치하여 사용 (권한 설정을 알아서 해줌)
2) PAT(personal accesss token)으로 pip.ini/pip.conf
(forpush) or .pyirc
(for pull)을 직접 수정
Azure Artifacts로 pip를 처음 사용한다면 설정해줘야하는 부분이 있다.
"Get the tools"하면 단계가 나오는데 그대로 잘 따라하면 된다. (파이썬 설치 - pip 최신 버전으로 올리기 - artifacts-keyring
패키지 설치하기)
artifacts-keyring
패키지?: Azure Artifacts에 있는 패키지를 사용하거나 패키지를 기재할 수 있도록 권한 설정을 해주는 패키지
keyring
패키지의 확장으로, 보안성이 있는 storage가 있는 아무 application에 이용될 수 있다.
proxy server: 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 컴퓨터 시스템/응용 프로그램
(proxy: 서버와 클라이언트 사이에 중계기로써 대리로 통신을 수행하는 것)
echo %APPDATA%
했을 때 나오는 경로에 pip.ini 가 없으면 만들어서 내용을 추가하면 된다!
(--------------+ proxy에 대한 내용 추가 예정 -----------------)
: Python 패키지를 PyPI에 배포할 때 일반 HTTP를 사용해서 배포하기에 보안이 취약할 수 있으나, TLS (Transport Layer Security, 전송 계층 보안)를 사용하는 twine으로 보안성을 높이고 PyPI 계정이 없어도 가이드해준다.
(HTTP, HTTPS, SSL, TLS에 대해서는 따로 정리하고 링크를 추가하겠다!)