Skip to main content

此版本的 GitHub Enterprise Server 已于以下日期停止服务 2024-03-26. 即使针对重大安全问题,也不会发布补丁。 为了获得更好的性能、更高的安全性和新功能,请升级到最新版本的 GitHub Enterprise。 如需升级帮助,请联系 GitHub Enterprise 支持

将仓库连接到包

可以将存储库连接到 你的 GitHub Enterprise Server 实例 上的包。

发布范围限定为个人帐户或组织的包时,默认情况下,包不会链接到存储库。 若将包连接到存储库,包登陆页面将显示来自存储库的信息和链接,例如 README。 还可以选择让包从链接存储库继承其访问权限。 有关详细信息,请参阅“配置包的访问控制和可见性”。

在 GitHub

上将存储库连接到用户范围的包

  1. 在 GitHub 上,导航到个人帐户的主页面。

  2. 在 GitHub Enterprise Server 的右上角,单击你的头像照片,然后单击“你的个人资料”。

    @octocat 的个人资料图片下的下拉菜单的屏幕截图。 “你的个人资料”用深橙色框出。

  3. 在个人资料页面上的标题中,单击 “包”选项卡。

  4. 搜索要管理的包的名称,然后单击该名称。

  5. 在包版本下,单击“连接存储库”。

  6. 选择要链接到包的存储库,然后单击“连接存储库”。

在 GitHub

上将存储库连接到组织范围的包

  1. 在 GitHub 上,导航到组织的主页面。

  2. 在组织名称下,单击 “包”选项卡。

    @octo-org 的个人资料页面的屏幕截图。 “包”选项卡以橙色边框突出显示。

  3. 搜索要管理的包的名称,然后单击该名称。

  4. 在包版本下,单击“连接存储库”。

  5. 选择要链接到包的存储库,然后单击“连接存储库”。

使用命令行将仓库连接到容器映像

注意:GitHub Enterprise Server 的 Container registry 当前为 beta 版本,可能会有变化。

必须启用 GitHub Packages 和子域隔离才能使用 Container registry。 有关详细信息,请参阅“使用容器注册表”。

  1. 在 Dockerfile 中,添加此行,将 HOSTNAMEOWNERREPO 替换为详细信息:

    LABEL org.opencontainers.image.source=https://HOSTNAME/OWNER/REPO
    

    例如,如果你是拥有 my-repo 的用户 octocat,且 你的 GitHub Enterprise Server 实例 主机名为 github.companyname.com,可将此行添加到 Dockerfile:

    LABEL org.opencontainers.image.source=https://containers.github.companyname.com/octocat/my-repo
    

    有关详细信息,请参阅 Docker 官方文档中的“标签”和 opencontainers/image-spec 存储库中的“预定义的注释键”。

  2. 构建容器映像。 此示例从当前目录中的 Dockerfile 生成映像,并分配映像名称 hello_docker

    docker build -t hello_docker .
    
  3. (可选)查看刚刚创建的 Docker 映像的详细信息。

    $ docker images
    > REPOSITORY          TAG         IMAGE ID       CREATED         SIZE
    > hello_docker        latest      142e665b1faa   5 seconds ago   125MB
    > redis               latest      afb5e116cac0   3 months ago    111MB
    > alpine              latest      a6215f271958   5 months ago    5.29MB
    
  4. 为 Docker 映像分配名称和托管目标。

    docker tag IMAGE_NAME containers.HOSTNAME/NAMESPACE/NEW_IMAGE_NAME:TAG
    

    NAMESPACE 替换为你希望作为包限定范围的个人帐户或组织的名称。

    例如:

    docker tag 38f737a91f39 containers.github.companyname.com/octocat/hello_docker:latest
    
  5. 如果尚未向 Container registry 验证,请验证。 有关详细信息,请参阅“使用容器注册表”。

    $ echo $CR_PAT | docker login containers.HOSTNAME -u USERNAME --password-stdin
    > Login Succeeded
    
  6. 推送容器映像到 Container registry。

    docker push containers.HOSTNAME/NAMESPACE/IMAGE-NAME:TAG
    

    例如:

    docker push containers.github.companyname.com/octocat/hello_docker:latest