[한글 문서화] Making a release

2020-06-06

word_cloud GitHub Page의 Making a release 항목을 한국어로 번역 및 보완한 문서입니다.


Making a release

이 문서는 wordcloud python 패키지의 릴리스 작성을 통해 기여자를 안내합니다.

핵심 개발자는 생성을 트리거하고 wordcloud의 X.Y.Z 릴리스를 PyPI에 업로드하기 위해 이 단계들을 밟아야 합니다.



설명서 규칙

아래에 보고되는 커멘드 명령은 동일한 터미널 세션에서 평가되야합니다.

평가될 명령은 달러 기호로 시작합니다. 예를 들면 다음과 같습니다.

$ echo "Hello"
Hello

echo "Hello"가 터미널에서 복사 및 평가되야 함을 의미합니다.



환경 설정

1.먼저 PyPI에 계정을 등록하십시오.

2.아직 사례가 아닌 경우, Package Index Maintainer으로 추가되도록 요청하십시오.

3.로그인 자격 증명으로 ~/.pypirc 파일을 만듭니다.

[distutils]
index-servers =
  pypi
  pypitest

[pypi]
username=<your-username>
password=<your-password>

[pypitest]
repository=https://test.pypi.org/legacy/
username=<your-username>
password=<your-password>

PyPI 계정이 <your-username><your-password>입니다.



PyPI : 단계별 설명

1.모든 CI 테스트(AppVeyor, CircleCITravis CI)를 통과했는지 확인하십시오.

2.버전별로 정렬된 모든 태그를 나열하십시오.

$ git tag -l | sort -V


3.다음 릴리스 버전 번호를 선택하십시오.

release=X.Y.Z


Warning
패키지가 PyPI에 업로드되도록 하려면 태그가 이 정규식과 일치해야합니다.
^[0-9]+(\.[0-9]+)*(\.post[0-9]+)?$

4.최신 소스 다운로드

cd /tmp && git clone git@github.com:amueller/word_cloud && cd word_cloud


5.doc/changelog.rst에서 Next Release 섹션 헤더를 WordCloud X.Y.Z로 변경한 후 동일한 이름을 사용하여 변경을 commit합니다.

$ git add doc/changelog.rst
$ git commit -m "WordCloud ${release}"


6.릴리스 태그

$ git tag --sign -m "WordCloud ${release}" ${release} master


Note
태그에 서명하려면 GPG 키를 사용하는 것이 좋습니다.

7.태그 게시

$ git push origin ${release}


Note
그러면 각 CI 서비스에서 빌드가 시작되고 PyPI에서 휠 및 소스 배포가 자동으로 업로드됩니다.

8.AppVeyor, CircleCI 및 Travis CI에서 빌드 상태를 확인하십시오.

9.빌드가 완료되면 PyPI에서 배포가 가능한지 확인하십시오.

10.깨끗한 테스트 환경을 만들어 설치를 테스트하십시오.

$ mkvirtualenv wordcloud-${release}-install-test && \
  pip install wordcloud && \
  python -c "import wordcloud;print(wordcloud.__version__)"


Note
mkvirtualenv를 사용할 수 없으면 virtualenvwrapper가 설치되어 있지 않다는 의미입니다.
이 경우 이를 설치하거나 virtualenv 또는 venv를 직접 사용할 수 있습니다.

11.정리하기

$ deactivate  && \
  rm -rf dist/* && \
  rmvirtualenv wordcloud-${release}-install-test


12.doc/changelog.rstNext Release 섹션을 다시 추가하고 결과를 merge하고 로컬 변경사항을 push하십시오.

$ git push origin master