devpi 명령어 모음

실행 위치 참고

  • 🤖 : devpi 가 설치된 서버
  • 🧑‍💻 : 사용자. devpi 로 패키지 설치 요청을 보내는 클라이언트

devpi-server

  • 🤖 devpi-server 레지스트리 디렉터리 초기화
1
2
devpi-init [--serverdir /레지스트리/경로]
# 경로를 지정하지 않으면 자신의 home 아래에 생성된다.
  • 🤖 devpi-server 실행
1
devpi-server [--host=0.0.0.0 --port 3141 --serverdir /레지스트리/경로]


devpi-client

  • 🧑‍💻 devpi-client 에서 특정 devpi-server 사용
1
devpi use http://{HOST}:{PORT}
  • 🧑‍💻 devpi-client 에서 특정 인덱스 사용
1
devpi use {new_user_name}/{new_index_name}


사용자(user) 관리

  • 🤖🧑‍💻 신규 사용자 추가
1
devpi user -c {user_name} password={password}
  • 🤖🧑‍💻 사용자 로그인
1
devpi login {user_name} --password={password}


인덱스(Index) 관리

  • 🤖🧑‍💻 인덱스 생성
1
2
3
4
5
6
devpi index -c dev [\
  bases=root/pypi \
  volatile=True \
  acl_upload=dev1,dev2 \
  mirror_whitelist=requests,numpy \
  mirror_whitelist_inheritance=intersection]
  • 🤖🧑‍💻 서버에 존재하는 사용 가능한 인덱스 리스트 확인 (전체)
1
devpi use -l
  • 🤖🧑‍💻 특정 사용자의 인덱스 리스트 확인
1
devpi index -l
  • 🤖🧑‍💻 인덱스의 설정값 확인
1
devpi getjson /{user_name}/{index_name}
  • 🤖🧑‍💻 인덱스 설정값 수정
1
devpi index /{user_name}/{index_name} 설정항목1=설정값1 [설정학목2=설정값2 ...]
  • 🤖🧑‍💻 인덱스 삭제
1
devpi index --delete /{user_name}/{index_name}


패키지

  • 🧑‍💻 패키지 설치
1
devpi install pandas <패키지명1> [<패키지명2> <패키지명3> ...]
  • 🧑‍💻 pip 로 devpi-server 패키지 설치
1
2
pip install --index-url http://{HOST}:{PORT}/{user}/{index} \
    <패키지명1> [<패키지명2> <패키지명3> ...]
  • 🧑‍💻 릴리즈(패키지) 빌드 및 업로드
1
devpi upload [--formats=bdist_wheel,sdist.tgz]
  • 🧑‍💻 릴리즈(패키지) wheel 파일 업로드
1
devpi upload dist/*.whl
  • 🧑‍💻 릴리즈(패키지) 제거
1
devpi remove <패키지 이름>==<버전>
  • 🧑‍💻 프로젝트(패키지) 제거
1
devpi remove <패키지 이름>


devpi-server 내보내기와 가져오기

  • 🤖 devpi-server 내보내기
1
devpi-export <export 결과 데이터를 저장할 디렉터리>
옵션 명칭 설명
-c, --configfile 설정 파일 - devpi-server 실행시 사용하던 설정 파일 지정
- 서버를 config 기반으로 운영 중이라면 지정하는 걸 권장
--serverdir devpi-server 데이터 경로 - devpi-server 데이터가 저장된 실제 경로
- devpi-server 실행시 별도로 server-dir을 지정한 경우 사용
--storage 저장소 백엔드 - 대부분 기본값(sqlite) 사용
- sqlite 혹은 pg8000 사용 가능
--include-mirrored-files PyPI 미러 패키지 포함 여부 - PyPI 미러에서 다운로드 된 패키지 파일까지 포함할지
- 옵션을 사용하면 미러 패키지까지 추출
--hard-links 파일 복사 대신 하드 링크 - 파일 복사 대신 하드링크 사용
- 같은 파일시스템에서만 가능
- 백업 용량 감소, 하지만 위험성 있음
  • 🤖 devpi-server 가져오기
1
devpi-import <export 결과가 저장된 디렉터리>
옵션 명칭 설명
-c, --configfile 설정 파일 - devpi-server 실행 시 사용할 설정 파일을 지정
--serverdir devpi-server 데이터 경로 - 새 devpi-server 인스턴스의 데이터가 생성될 경로를 지정
- 기존 데이터가 없는 빈 디렉터리여야 안전
--storage 저장소 백엔드 - export 당시 사용한 storage 타입과 동일하게 지정
- sqlite 또는 pg8000
--no-root-pypi root/pypi 생성 여부 - 서버 초기화 시 기본으로 생성되는 root/pypi 인덱스를 생성하지 않는 옵션
- export 데이터에 이미 존재하는 경우 중복 생성을 방지
--root-passwd root 초기 비밀번호 - import 시 root 계정의 초기 비밀번호를 설정
--root-passwd-hash root 비밀번호 해시 - 평문 대신 해시된 비밀번호를 지정
--skip-import-type 특정 인덱스 타입 제외 - 지정한 인덱스 타입을 import 대상에서 제외
--no-events 이벤트 실행 지연 - import 중 이벤트 실행을 생략하고 서버 기동 후 처리
--hard-links 파일 복사 대신 하드 링크 - 파일 복사 대신 하드 링크를 사용
- export 시 해당 옵션을 사용했다면 import 시에도 동일하게 지정
- 동일 파일시스템에서만 가능
- 운영상 위험성이 있음


Reference

devpi-stable Documentation

Comments