在 TC 构建期间,我遇到了这样的问题:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5.1:prepare (default-cli) on project test-project: An error occurred during the status check process: Exception while executing SCM command. Error while executing command. Error inside systemOut parser: Illegal character in path at index 0: "java/releases/13.4.1/Prod/SomeFile%2013.1.1.docx" -> [Help 1]
这意味着某些东西正在将带有空格的文件路径更改为字符 1,即 %20。
我们在本地尝试在 maven 中做同样的事情:
mvn -B release:clean release:prepare release:perform -DreleaseNumber=1.1.0 -DBUILD_VERSION=1.1.0.6 -Dsomeuser | tee ~/3.1.0.6.log
它在某些随机开发环境中表现良好,在 TC 代理环境中也能正常工作。
另一点:我已经尝试过 scm:add 这样的文件,但它禁止这样做。所以我就是这样,但 mvn prepare 运行良好并提交并将数据推回。
但是teamcity建设一次又一次地失败。我们在 TC 结帐后检查了代理上的路径,它不包含任何 %20,而是包含空格。所以结帐它执行没有这样的问题。
我已经用 git 进行了一些实验,它可以很好地执行这些文件,我们没有看到任何问题。
它可能是什么以及如何解决它?会不会是scm的问题?
PS我们看不到TC内部配置,因为没有访问权限,只能通过Web界面。