常见问题

私有仓库中推送包时提示409错误

  1. 请检查云效私有仓库是否允许覆盖,尝试将包版本改为一个新版本或者将 Maven 包版本置为 SNAPSHOT 包再上传,Snapshot 没有同版本不允许上传的限制。

  2. 如果是确认仓库中没有这个版本的包并且提示409,需要检查一下是不是在 pom.xml 等文件中有额外配置的插件,导致它会被推送两次,具体内容参见 Maven release plugin fails : source artifacts getting deployed twice

通过流水线向私有仓库中推送 Maven 包时(执行 deploy )提示认证错误

如果日志中显示推送的仓库地址的ID(也就是图片中框出来的)跟云效制品仓库中的 ID 不一致,请检查用户 pom 文件中的配置是否存在问题。

制品仓1

本地向私有仓库中推送 Maven 包时(执行 Deploy )提示认证错误

  1. 如果日志中显示推送的仓库地址的ID(也就是图片中框出来的)跟云效制品仓库中的 ID 不一致,请检查用户 pom 文件中的配置是否存在问题。

    制品仓2

  2. 本地使用的 Settings 文件要确保配置正确,在代码根目录下运行mvn clean deploy -s settings.xml -U -DskipTests

    1. 注意: -s 参数为拥有权限往私有仓库 push 包的账号(参考仓库成员权限)登录云效私有仓库下载的settings.xml 的文件路径。

    2. 为了确保本地 settings.xml 配置正确,请在本地运行 mvn help:effective-settings ,通过日志查看私库地址是否已经配置进去。

云效流水线 Java 构建失败,下载不到依赖包

请检查流水线全局设置 - 构建设置是否存在问题,确保其指定了正确的私有仓库,或者上传了正确的settings文件。

本地构建失败,下载不到依赖包

本地构建失败的排查思路

  1. 访问云效制品仓库 Packages,在制品搜索中搜索依赖包,如果不存在,请上传到私有仓库中;如果已经存在,请操作下一步。

  2. 查看制品仓库的仓库指南页面,确保本地正确配置了仓库的访问(如 Maven 的 settings.xml,Npm 的 Registry 和认证设置)

  1. 对于 Maven 仓库,按照仓库指南准备一份 settings.xml ,在本机新建一个空的目录,比如 /tmp/repo,然后在代码根目录下运行mvn clean install -s settings.xml -U -DskipTests -Dmaven.repo.local=/tmp/repo,查看构建是否成功。注意:-s 参数后为拥有权限拉取私服包的账号(参考仓库成员权限)登录云效私服下载的 settings.xml 的文件路径。

  2. 对于 Maven 仓库,为了确保本地 settings.xml 配置正确,请在本地运行 mvn help:effective-settings ,通过日志查看私库地址是否已经配置进去。

用户自有私有仓库迁移到或者同步到新版云效的 Maven 私有仓库

  1. 可以在云效私有仓库中直接配置代理,这样从云效私有仓库下载时,如果云效私有仓库不存在这个包,会去代理仓库中拉取并同时存储到云效,详见:仓库设置

  2. 如果是要将自己的私有仓库全部迁移到云效私有仓库的话,可以使用下载迁移工具 migrate-local-repo-tool.jar 迁移,如果数据太多的话建议分批迁移,详见:将已有私库同步至云效

制品库下载包速度很慢

查看制品仓库的代理设置,检查其中是否涉及跨境的代理仓库,对于跨境的速度无法保证。

上传 maven 仓库报错:Could not PUT 'https://packages.aliyun.com/maven/repository/xxxx/xxx.jar'. Received status code 400 from server

请检查制品仓库是否支持 Release 和 Snapshot 包,注意:Release 库只能上传 Release 包、Snapshot 库只能上传 Snapshot 包(即版本以 -SNAPSHOT 结尾的包)。

能否将 A 制品库的数据迁移到 B 制品库

  1. 暂不支持云效制品仓库之间的迁移,且为了防止可能出现的循环代理问题,目前也暂不支持代理到云效制品仓库

  2. 对于 maven 制品库,建议把多个源配置到同一个 settings.xml 里面