diff --git a/jenkins/Jenkinsfile.agc-global-version-issue b/jenkins/Jenkinsfile.agc-global-version-issue index 7cda374df..ece6304ed 100644 --- a/jenkins/Jenkinsfile.agc-global-version-issue +++ b/jenkins/Jenkinsfile.agc-global-version-issue @@ -91,7 +91,14 @@ pipeline { if [[ ! -x "${OSSUTIL_TOOLS_DIR}/ossutil" ]]; then curl -fsSL -o "${OSSUTIL_TOOLS_DIR}/ossutil.zip" \\ "https://gosspublic.alicdn.com/ossutil/v2/${version}/ossutil-${version}-linux-amd64.zip" + # 官方 zip 解压后是带版本号的目录,二进制不在包根,必须先定位再落到固定路径。 unzip -o -q "${OSSUTIL_TOOLS_DIR}/ossutil.zip" -d "${OSSUTIL_TOOLS_DIR}" + extracted="$(find "${OSSUTIL_TOOLS_DIR}" -maxdepth 3 -type f -name ossutil -print -quit)" + if [[ -z "${extracted}" ]]; then + echo "ossutil 解压后未找到可执行文件:${OSSUTIL_TOOLS_DIR}" >&2 + exit 1 + fi + cp -f "${extracted}" "${OSSUTIL_TOOLS_DIR}/ossutil" chmod +x "${OSSUTIL_TOOLS_DIR}/ossutil" fi "${OSSUTIL_TOOLS_DIR}/ossutil" --version | head -1