我正在使用库构建和发布 pythonhatch
库到我们的本地 pypiserver。我想从 Docker 容器构建和发布它。
这样做的正确方法是什么?我是否需要运行容器然后连接到它、拉取源代码、构建、测试和发布?其他方法?
我当前的实现是在 docker 构建新图像时构建和发布库:
FROM python:3.6.8-stretch
ARG PYPI_USERNAME
ARG PYPI_PASSWORD
RUN mkdir /code
WORKDIR /code
RUN echo "machine pypi.myserver.com\n\tlogin $PYPI_USERNAME\n\tpassword $PYPI_PASSWORD" >> ~/.netrc && \
mkdir ~/.pip && \
echo "[global]\nextra-index-url = https://pypi.myserver.com\ntrusted-host = pypi.myserver.com" >> ~/.pip/pip.conf
RUN echo "\n[distutils]\nindex-servers=\n myserver\n\n[myserver]\nrepository: https://pypi.myserver.com/\nusername: $PYPI_USERNAME\npassword: $PYPI_PASSWORD\n" > ~/.pypirc
COPY . .
RUN pip install . && rm -r ~/.pip && rm ~/.netrc
RUN py.test
RUN hatch build && hatch release -r myserver -u admin
RUN rm ~/.pypirc
CMD [ "echo", "OK" ]
然后我验证退出状态码($?
)并判断它是否成功。
最后,我从 Docker 中删除了所有图像。
谢谢你。