【问题标题】:TeamCity Build "Process exited with code 128"TeamCity Build“进程退出,代码为 128”
【发布时间】:2016-05-04 20:20:28
【问题描述】:

由于我通过提交更改了消息并强制推送,因此团队城市在构建时显示此错误,并且我的所有下一次推送都没有发送到服务器。未发送更改。

我不知道如何处理这个错误,在互联网上没有找到任何东西,而且我的新推送没有被计算在内这一事实让我很困扰。

这是日志:

[15:55:51]Skip checking for changes - changes are already collected
[15:55:52]Building incremental patch for VCS root: Osaxis Git parametered root; checkout rules: =>; revision: bced9add36f7c34c8622b6f47bafbfdc45a69a48 --> 1efd8f421044b9f0d58784d982fd6d2c0f12609c
[15:55:51]Publishing internal artifacts
[15:55:51][Publishing internal artifacts] Sending using WebPublisher
[15:55:51][Publishing internal artifacts] Sending using ArtifactsCachePublisher
[15:55:51]Clearing temporary directory: /srv/TeamCity/buildAgent/temp/buildTmp
[15:55:51]Checkout directory: /srv/TeamCity/buildAgent/work/b4756bb7138c55d8
[15:55:51]Updating sources: server side checkout
[15:55:51][Updating sources] Using vcs information from agent file: b4756bb7138c55d8.xml
[15:55:52][Updating sources] Repository sources transferred
[15:55:52]Step 1/2: VCS update (parametered) (Command Line)
[15:55:52][Step 1/2] Starting: /bin/sh /scripts/intranet/10-vcs_update.sh
[15:55:52][Step 1/2] in directory: /srv/TeamCity/buildAgent/work/b4756bb7138c55d8
[15:55:52][Step 1/2] From http://git.osaxis.fr:8888/r/IntranetSF2
[15:55:52][Step 1/2]  + bced9ad...1efd8f4 developpement -> origin/developpement  (forced update)
[15:55:52][Step 1/2] 
[15:55:52][Step 1/2] *** Please tell me who you are.
[15:55:52][Step 1/2] 
[15:55:52][Step 1/2] Run
[15:55:52][Step 1/2] 
[15:55:52][Step 1/2]   git config --global user.email "you@example.com"
[15:55:52][Step 1/2]   git config --global user.name "Your Name"
[15:55:52][Step 1/2] 
[15:55:52][Step 1/2] to set your account's default identity.
[15:55:52][Step 1/2] Omit --global to set the identity only in this repository.
[15:55:52][Step 1/2] 
[15:55:52][Step 1/2] fatal: unable to auto-detect email address (got 'root@aef183e198de.(none)')
[15:55:52][Step 1/2] Process exited with code 128
[15:55:52][Step 1/2] Step VCS update (parametered) (Command Line) failed
[15:55:52]Step 2/2: Docker upgrade (parametered) (Command Line)
[15:55:52][Step 2/2] Build step Docker upgrade (parametered) (Command Line) is skipped because the previous step has failed
[15:55:52]Publishing internal artifacts
[15:55:52][Publishing internal artifacts] Sending using WebPublisher
[15:55:52][Publishing internal artifacts] Sending using ArtifactsCachePublisher
[15:55:53]Build finished

似乎是 git 配置的问题,但我没有更改。

如果有人知道如何处理这个问题,那就太棒了。

【问题讨论】:

    标签: git build teamcity teamcity-9.0


    【解决方案1】:

    这很可能与 TeamCity 无关,而是与您的更新脚本有关。

    您的脚本 /scripts/intranet/10-vcs_update.sh 出错,退出代码为 128,因此 TeamCity 构建失败。

    转到您的服务器,执行您的更新脚本,看看它到底在哪里失败了。您还可以将set -x 添加到您的脚本中,然后它应该输出当前执行的内容。

    【讨论】:

    • 我不想犯错误,所以我只是查看了文件,只有:set -eu cd /var/docker/intranet git pull。而且它是只读的,也许这就是问题
    • 是的,你有你的问题。如果您没有更改配置,您将创建一个 pull,它是一个 fetch,然后是一个 merge。因此,您尝试创建一个合并提交,但您的 user.emailuser.name 未设置,因此命令出错,甚至在出错之前在 prosa 中告诉您。
    • Sooo... 某些东西“重新启动了 git”并删除了之前设置的用户信息?我该怎么做才能修复它?并且不会损坏任何东西
    • 我怀疑之前设置了用户信息。之前根本不需要合并,因为在服务器上没有提交任何内容并且传入的更改被快速转发。通过重写已发布的历史记录,您会导致任何人(包括构建服务器)都必须重新设置其本地存储库的基础才能从您那里恢复,从而操纵存储库的历史记录。你如何处理这种情况取决于你的目标。对于短期修复,只需在 TC 上重新设置 repo。对于长期修复,请确保没有人在 TC 上工作,并将 pull 更改为 fetch 和 hard-reset 或类似的。
    • 但是,他们是。在我使用 git push --force 之前,一切正常。在那之前我从来没有遇到过问题。我检查了以前的日志,就像问题之前的日志一样,一切都很好,而且是前一天。我确实做了一些不好的事情,希望改变已经推送的提交的消息,但我不明白它是如何改变团队城市的
    【解决方案2】:

    您需要在 TeamCity 服务器上配置 git 默认设置,所以基本上您需要 ssh 到服务器并设置您的电子邮件和名称,例如:

    git config --global user.email "you_email@example.com"

    git config --global user.name "你的名字"

    【讨论】:

    • 嗯,之前效果很好,不知道用的是哪个账号:/
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多