2

    在 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界面。

4

3 回答 3

3

对我有帮助的是以下内容(来自https://help.github.com/articles/dealing-with-line-endings/):

从 Git 的索引中删除所有文件。

git rm --cached -r .

重写 Git 索引以获取所有新的行尾。

git reset --hard

hth

于 2015-11-25T16:35:26.530 回答
0

     我们发现,这是添加文件时的 scm 问题。重命名所有文件后,它工作正常。
     另一种方法是添加 -DdryRun 以防止提交和推送更改并使用相同的命令但使用常见的 git 命令调用 shell 脚本。
     如果有人知道另一种方法 - 请写评论。

于 2015-04-08T11:15:51.157 回答
0

您可能需要将 teamcity 中的任何 % 替换为 %% 以便在逻辑上使用 % 符号。所以 %%20 可能对你有用。

于 2015-04-07T18:37:16.083 回答