반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- s3
- 카프카 구축
- 컬럼 기반
- 에어플로우
- delta lake
- Data engineering
- 레드시프트
- Redshift
- spark streaming
- 데이터 엔지니어링
- 스파크
- Data Warehouse
- 카프카
- airflow
- kafka rest api
- docker
- 델타레이크
- MySQL
- Data Engineer
- Zookeeper
- spark
- 데이터 웨어하우스
- 데이터 엔지니어
- AWS
- 대용량 처리
- 스파크 스트리밍
- 데이터
- kafka
- Schema Registry
- Parquet
Archives
- Today
- Total
데이터 엔지니어 기술 블로그
private PyPI 구축하기(S3 backend) 본문
반응형
개요
파이써 패키지를 만들어서 사용해야하는데, public pypi 에 올릴 수 없는 경우 private PyPI 서버를 만들어야한다.
서버를 띄워둘 때 새로운 EBS를 연결하지 않은 EC2나 EFS를 연결하지 않은 ECS 등의 상태가 유지되지 않을 수 있는 환경에서 띄우기엔 애매할 때 S3를 백엔드로 사용할 수 있다.
내용
S3를 백엔드로 사용하려면 pypicloud라는 라이브러리를 사용하면 된다. S3외에도 GCS, Blob Storage를 사용할 수 있다.
공식 페이지
https://pypi.org/project/pypicloud/
Getting Started
https://pypicloud.readthedocs.io/en/latest/topics/getting_started.html#uploading-packages
변경한 설정파일 값 예시
pypi.auth = config
pypi.storage = s3
storage.bucket = '<user_bucket_name>'
storage.region_name = 'ap-northeast-2'
storage.prefix = 'pypi/packages/'
user.admin = <admin_password_hash_value>
auth.admins = admin
# 랜덤해쉬 4자리 비활성화
storage.prepend_hash = false
업로드 방법 예시
아래의 경로의 파일에 배포할 곳 정보를 설정해준다.
$HOME/.pypirc
[distutils]
index-servers = pypicloud
[pypicloud]
repository: http://localhost:6543/simple/
username: <<username>>
password: <<password>>
파이썬 패키지를 만든 후 업로드한다.
python3 setup.py sdist upload -r pypicloud
업로드 결과는 S3에서 확인할 수 있다.
설치 방법 예시
HOST=<<host>>
python3 -m pip install --trusted-host ${HOST} -i http://${HOST}:8080/simple <<package_name>> --upgrade
반응형
'데이터 엔지니어링' 카테고리의 다른 글
[Redshift] Federated Query(연합 쿼리)란? (0) | 2021.10.14 |
---|---|
[⚡AWS] Redshift 기초 이해하기 (0) | 2021.10.12 |
[🧙Kafka] 카프카 토픽 이름 짓는 법(Topic Naming Convention) (0) | 2021.07.11 |
[압축 방식 비교] gzip vs snappy vs lz4 vs brotli vs zstd vs lzo (0) | 2021.07.10 |
[🧙Kafka] S3 Sink Connector: 카프카 S3와 연동하기 (0) | 2021.07.09 |
Comments