文档首页/ 制品仓库 CodeArts Artifact/ 最佳实践/ 通过编译构建任务发布/获取PyPI私有组件
更新时间:2024-10-29 GMT+08:00
分享

通过编译构建任务发布/获取PyPI私有组件

背景信息

私有依赖库管理各种开发语言对应的私有组件包(开发者通俗称之为私服)。由于不同的开发语言组件通常有不同的归档格式要求,私有依赖库目的就在于管理私有开发语言组件并在企业或团队内共享给其他开发者开发使用。

本文档介绍如何通过编译构建任务发布私有组件到PyPI私有依赖库、如何从PyPI私有依赖库获取依赖包完成编译构建任务。

准备工作

  • 已有可用项目。如果没有项目,请先新建CodeArts项目
  • 已创建PyPI格式私有依赖库。
  • 请添加当前账号对当前私有库的权限,请参考管理用户权限

发布私有组件到PyPI私有依赖库

  1. 下载私有依赖库配置文件。

    1. 登录制品仓库,选择私有依赖库,进入PyPI私有依赖库。单击页面右侧“操作指导”
    2. 在弹框中找到“发布配置”,单击“下载配置文件”

    3. 在本地将下载的“pypirc”文件另存为“.pypirc”文件。

  2. 配置代码仓库。

    1. 进入代码托管服务,创建Python代码仓库(操作步骤请参考新建仓库)。本文使用模板“Python3 Demo”创建代码仓库。
    2. 进入代码仓库,将“.pypirc”文件上传至代码仓库的根目录中。

  3. 配置并执行编译构建任务。

    1. 在代码仓库中,单击页面右上角“设置构建”,页面跳转至“新建编译构建任务”页面。

      在页面中选择“空白构建模板”,单击“下一步”

    2. 添加步骤“SetupTool构建”

    3. 编辑步骤“SetupTool构建”
      • 工具版本按照实际选择,本文中选择“python3.6”
      • 删除已有命令行,输入以下命令:
        # 请保证代码根目录下有setup.py文件,下面命令将把工程打为whl包
        python setup.py bdist_wheel
        # 设置当前项目根目录下的.pypirc文件为配置文件
        cp -rf .pypirc ~/
        # 上传组件至pypi私有库
        twine upload -r pypi dist/* 

        如果上传时报证书问题,请在上述命令首行添加以下命令,设置环境变量跳过证书校验:

        export CURL_CA_BUNDLE=""

    4. 单击“新建并执行”,执行构建任务。

      待任务执行成功时,进入私有依赖库,可找到通过构建任务上传的PyPI私有组件。

从PyPI私有依赖库获取依赖包

发布私有组件到PyPI私有依赖库中发布的PyPI私有组件为例,介绍如何从PyPI私有依赖库中获取依赖包。

  1. 下载私有依赖库配置文件。

    1. 进入PyPI私有依赖库,单击页面右侧“操作指导”
    2. 在弹框中找到“下载配置”,单击“下载配置文件”

    3. 在本地将下载的“pip.ini”文件另存为“pip.conf”文件。

  2. 配置代码仓库。

    1. 进入代码托管服务,创建Python代码仓库(操作步骤请参考新建仓库)。本文使用模板“Python3 Demo”创建代码仓库。
    2. 进入代码仓库,将“pip.conf”文件上传至需要使用PyPI依赖包的代码仓库根目录中。
    3. 在代码仓库中找到“requirements.txt”文件并打开(若没有请新建文件),将依赖包配置添加到此文件中,本文中配置的值为:
      demo ==1.0

  3. 配置并执行编译构建任务。

    1. 在代码仓库中,单击页面右上角“设置构建”,页面跳转至“新建编译构建任务”页面。

      在页面中选择“空白构建模板”,单击“下一步”

    2. 添加步骤“Setup Tool构建”

    3. 编辑步骤“SetupTool构建”
      • 工具版本按照实际选择,本文中选择“python3.6”
      • 删除已有命令行,输入以下命令:
         # 可以通过此命令设置当前项目根目录下的pip.conf文件为配置文件
         export PIP_CONFIG_FILE=./pip.conf
         # 下载pypi组件
         pip install -r requirements.txt --no-cache-dir

  4. 单击“新建并执行”,执行构建任务。

    待任务执行成功时,查看构建任务详情,在日志中找到类似如下内容,说明编译构建任务从私有依赖库完成了依赖包下载并构建成功。

相关文档