automation-suite
2023.10
false
重要 :
新发布内容的本地化可能需要 1-2 周的时间才能完成。
UiPath logo, featuring letters U and I in white

Linux 版 Automation Suite 安装指南

上次更新日期 2026年3月9日

如何在升级后从旧安装程序中删除映像

如果在执行升级后遇到映像漏洞或存储消耗问题,可以从旧的安装程序中删除映像。

从 Automation Suite 2023.10.5 开始,您可以在升级后使用以下命令从集群内 Docker 注册表清理以前的版本映像:

  • 要删除升级后不再需要的映像,请执行以下操作:
    cd /opt/UiPathAutomationSuite/<new_version>/installer
    ./bin/uipathctl registry cleanup --manifest versions/docker-images.json
    cd /opt/UiPathAutomationSuite/<new_version>/installer
    ./bin/uipathctl registry cleanup --manifest versions/docker-images.json
    
  • 要删除按需捆绑包映像,您需要专门删除以下映像:
    ./bin/uipathctl registry cleanup --manifest /versions/docker-images.json --images-list images-list.json
    ./bin/uipathctl registry cleanup --manifest /versions/docker-images.json --images-list images-list.json
    

以下示例显示了images-list.json文件的格式:

{
    "cleanup-list": [
        "aicenter/python39:23.10.0-rc4",
        "image2",
        "image3"
    ]
}
{
    "cleanup-list": [
        "aicenter/python39:23.10.0-rc4",
        "image2",
        "image3"
    ]
}

对于以前的 Automation Suite 版本,要执行此可选的升级后操作,请执行以下步骤:

  1. 根据以下脚本中的集群配置更新 IMGTAGUSERPASSregistrylatest_image_json,然后运行该脚本:
    #!/bin/bash
    
    ### Please change below variables as required
    IMG=<E.g. dataservice/dataservice-designer>
    TAG=<E.g. v20231116-tag>
    USER=<E.g. "admin">
    PASS=<E.g. "password">
    registry=<E.g. "registry.mycluster.com">
    latest_image_json=<E.g. "/opt/UiPathAutomationSuite/UiPath_Installer/versions/docker-images.json">
    ####
    
    [[ -f "${latest_image_json}" ]] || {
        echo "File "$latest_image_json" doesn't exist"
        exit 1
    }
    
    cat "${latest_image_json}" | tr -d '",' | grep -w "${IMG}:${TAG}" >> /dev/null && {
        echo "Image ${IMG}:${TAG} is being used in cluster. Will skip the deletion."
        exit 0
    }
    
    echo "Deleting image ${IMG}:${TAG}"
    
    cred="-u ${USER}:${PASS}"
    
    for i in `curl -k -H 'Accept: application/vnd.docker.distribution.manifest.v2+json' $cred "https://$registry/v2/$IMG/manifests/$TAG" | jq -r '.layers | .[] | .digest'`; do
        curl -k  -H "Accept: application/vnd.docker.distribution.manifest.v2+json"  $cred -X DELETE "https://$registry/v2/$IMG/manifests/$i"
    done
    
    for i in `curl -k -H 'Accept: application/vnd.docker.distribution.manifest.v2+json' $cred "https://$registry/v2/$IMG/manifests/$TAG" | jq -r '.config.digest'`; do
        curl -k  -H "Accept: application/vnd.docker.distribution.manifest.v2+json"  $cred -X DELETE "https://$registry/v2/$IMG/manifests/$i"
    done
    #!/bin/bash
    
    ### Please change below variables as required
    IMG=<E.g. dataservice/dataservice-designer>
    TAG=<E.g. v20231116-tag>
    USER=<E.g. "admin">
    PASS=<E.g. "password">
    registry=<E.g. "registry.mycluster.com">
    latest_image_json=<E.g. "/opt/UiPathAutomationSuite/UiPath_Installer/versions/docker-images.json">
    ####
    
    [[ -f "${latest_image_json}" ]] || {
        echo "File "$latest_image_json" doesn't exist"
        exit 1
    }
    
    cat "${latest_image_json}" | tr -d '",' | grep -w "${IMG}:${TAG}" >> /dev/null && {
        echo "Image ${IMG}:${TAG} is being used in cluster. Will skip the deletion."
        exit 0
    }
    
    echo "Deleting image ${IMG}:${TAG}"
    
    cred="-u ${USER}:${PASS}"
    
    for i in `curl -k -H 'Accept: application/vnd.docker.distribution.manifest.v2+json' $cred "https://$registry/v2/$IMG/manifests/$TAG" | jq -r '.layers | .[] | .digest'`; do
        curl -k  -H "Accept: application/vnd.docker.distribution.manifest.v2+json"  $cred -X DELETE "https://$registry/v2/$IMG/manifests/$i"
    done
    
    for i in `curl -k -H 'Accept: application/vnd.docker.distribution.manifest.v2+json' $cred "https://$registry/v2/$IMG/manifests/$TAG" | jq -r '.config.digest'`; do
        curl -k  -H "Accept: application/vnd.docker.distribution.manifest.v2+json"  $cred -X DELETE "https://$registry/v2/$IMG/manifests/$i"
    done
    
  2. 重新启动注册表 Pod 以执行垃圾收集,或在注册表 Pod 中执行并使用以下命令运行垃圾收集:
    registry garbage-collect /etc/docker/registry/config.yml
    registry garbage-collect /etc/docker/registry/config.yml
    

此页面有帮助吗?

连接

需要帮助? 支持

想要了解详细内容? UiPath Academy

有问题? UiPath 论坛

保持更新