教程#

在开发周期中使用标签#

Anaconda Enterprise 4 仓库 labels 可以用于 促进开发周期并组织处于开发、测试和生产中的代码,而不会影响 非开发用户。

在本教程中,我们展示了如何使用“test”标签,以便您可以上传文件而不影响您的生产质量包。如果没有--label参数,默认标签是“main”。

  1. 你需要从一个conda包开始。如果你没有,可以使用我们的示例conda包。在构建包之前,请编辑anaconda-client/example-packages/conda/中的meta.yaml文件中的版本为2.0

    git clone https://github.com/anaconda-platform/anaconda-client
    cd anaconda-client/example-packages/conda/
    nano meta.yaml # Bump version to 2.0
    conda config --set anaconda_upload no
    conda build .
    
  2. 使用客户端的 upload 命令将您的测试包上传到存储库。添加 --label 选项告诉存储库仅对指定该标签的用户可见上传内容:

    anaconda upload /path/to/conda-package-2.0.tar.bz2 --label test
    

    注意:将 /path/to/ 替换为您存储包的路径。

  3. 你现在可以看到,即使你搜索conda“main”, 你也看不到2.0版本的测试包。 这是因为你需要告诉conda去寻找你的 新“test”标签。

  4. --override 参数告诉 conda 不要使用 ~/.condarc 文件中的任何频道。

    以下命令不会产生2.0结果:

    conda search --override -c USERNAME conda-package
    

    注意:将USERNAME替换为您的用户名。

    您的2.0包在这里:

    conda search --override -c USERNAME/label/test conda-package
    

    注意:将 USERNAME 替换为您的用户名。

  5. 你可以给测试人员赋予标签 USERNAME/label/test

    注意:将 USERNAME 替换为您的用户名。

  6. 一旦他们完成测试,你可能想要将测试包复制回你的“主”标签:

    anaconda label --copy test main
    

    您的版本2.0现在在主分支中:

    conda search --override -c USERNAME conda-package
    

    注意:将 USERNAME 替换为您的用户名。

你也可以从你的仪表板管理你的包标签: https:///USERNAME/conda-package

注意:将 替换为您的本地仓库名称,并将 USERNAME 替换为您的用户名。

如果您使用 anaconda-client 1.7 或更高版本,您可以使用 anaconda move 将包从一个标签移动到另一个标签:

anaconda move --from-label OLD --to-label NEW SPEC

将OLD替换为旧标签,NEW替换为新标签,SPEC替换为要移动的包。SPEC可以是“user/package/version/file”,也可以是“user/package/version”,在这种情况下,它将移动该版本中的所有文件。

处理其他文件类型#

除了上传或下载 packages,您还可以上传或 从Anaconda Enterprise 4仓库下载其他文件类型。

上传其他文件类型#

您可以使用Anaconda Client 命令行界面 (CLI) 按照以下步骤上传任何类型的文件。

PyPI 包文件、conda 包文件和笔记本文件会自动检测。对于其他类型的文件没有自动检测功能,因此您必须明确指定 packagepackage-typeversion 字段。

在下面的示例中,我们上传了一个名为 baby-names 的电子表格,格式为逗号分隔值(CSV)。

  1. 创建一个新的包,这将创建一个可以包含多个文件的 Namespace

    anaconda login
    anaconda package --create jsmith/baby-names
    
  2. 将文件上传到新的命名空间:

    anaconda upload --user jsmith --package baby-names --package-type file --version 1 baby-names1.csv
    

注意:在这个例子中:

  • 用户或组织名称为“jsmith”。

  • 包名是“baby-names”。

  • 包类型为“file”。

  • 版本是“1.”

  • 完整的文件名是 baby-names1.csv

下载其他文件类型#

文件,例如上面创建的文件,可在以下位置找到:

https://<your-anaconda-repo>/USERNAME/PACKAGE

任何人都可以使用Client下载这些文件:

anaconda download USERNAME/PACKAGE

注意:将 替换为您的本地仓库名称,USERNAME 替换为所需的用户名,PACKAGE 替换为所需的包名称。

如果存储库中有多个同名但扩展名不同的文件,anaconda download 默认会下载所有文件。如果你使用的是 anaconda-client 1.7 或更高版本,你可以使用 anaconda download 并加上 --package-type-t 选项来指定只下载其中一个文件。此选项可以与 pypicondaipynbenv 这些值一起使用。