【问题标题】:Bamboo build stuck on "Waiting to be built..." and Cloning into 'Common'Bamboo build 卡在“Waiting to be built...”并克隆为“Common”
【发布时间】:2015-03-04 09:36:08
【问题描述】:

由于某种原因,我使用 MSBuild 的竹子构建在过去 4 小时内被卡住,并显示以下消息:

“正在等待构建...”。

我尝试停止构建,但停留在“Cancelling....”。甚至无法禁用代理。奇怪的是 IDLE 中有 2 个构建代理。

在我停止构建之前,构建运行了 5 多个小时并且没有停止。日志说:

simple  04-Mar-2015 21:23:42   Submodule 'web-common' (http://bitbucket.org/abc/web-common) registered for path 'Common'
simple  04-Mar-2015 21:23:43   Cloning into 'Common'...

重新启动构建服务器。工作了几个小时,同样的问题又开始了。讨厌在不知道根本原因的情况下重新启动构建服务器。

我对 Bamboo 和 GIT 很陌生。如果您能提供有关故障排除和解决此问题的建议会很好。

更新:

我通过了构建,但出现以下 Web 部署错误: C:\bamboo-home\artifacts\XXX\shared\build-xxxx\package 不是目录

【问题讨论】:

    标签: git msbuild continuous-integration bamboo


    【解决方案1】:

    已修复子模块的密码问题。
    现在我收到了这个错误

    Failure in artifact preparation phase during processing of: 
    Subscription for Shared artifact: 
    [bla, pattern: [**] anchored at: [deploy_artifact], destination: [] –  
    

    日志消息

    "C:\bamboo-home\artifacts\XXX\shared\build-xxxx\package is not a directory" 
    

    你可以看this thread:

    您是否在制定计划后创建了新的部署版本?
    单一版本始终与特定版本相关。
    如果您想使用更新的工件,您需要创建一个新版本。

    您也可以查看复制模式,如suggested here


    (原答案)

    竹子supports submodules since 3.4BAM 8106

    如果该支持出现故障,您可以try a workaround,添加一个像custom command executable 这样的构建器任务作为脚本:

    #!/bin/bash
    BUILDDIR=${bamboo.build.working.directory}
    cd $BUILDDIR
    git submodule update --init
    

    (取消选择高级选项中的“使用子模块”选项)

    这将允许您检查子模块是否真的是这里的问题。

    【讨论】:

    • 修复了子模块的密码问题。不是我收到此错误“处理过程中工件准备阶段失败:订阅共享工件:[bla,模式:[**] 锚定在:[deploy_artifact],目的地:[]
    • 日志信息“C:\bamboo-home\artifacts\XXX\shared\build-xxxx\package 不是目录”
    • @Myagdi 共享路径是子模块路径之一的一部分吗?还是您当前的问题与子模块无关?
    • 是的,它的新问题。适用于 DEV、UAT、PROD 等的所有构建。
    • 子模块的密码问题是什么?
    【解决方案2】:

    你确定你有一个正在运行的弹性实例吗? 我收到了类似的消息,并且我的构建排了很长时间,因为我没有任何 Bamboo 可用于构建的正在运行的实例。

    【讨论】:

    • 我不明白你的意思是运行弹性实例。我对 GIT 世界很陌生。我试图停止但卡在“取消”上
    【解决方案3】:

    我在 Bamboo 上收到此错误“处理过程中工件准备阶段失败:订阅共享工件: [bla,模式:[**] 锚定在:[deploy_artifact],目的地:[] – “

    我使用 git 子模块,这个错误是由于竹子所做的一些事情的组合,这些事情似乎最终导致在后期阶段找不到“共享工件”

    我解决了如下问题

    1. 我在 Bamboo 存储库中取消选中“使用子模块”复选框,让 Bamboo 处理签出 git 子模块

    2. 我介绍了一个任务,它使用竹变量bamboo.repository.git.repositoryUrl 明确地从我的git 存储库(来自bitbucket)中签出git 子模块,如下所示

      #不要使用竹本地 git 缓存 /usr/bin/git 远程删除原点

      #将你的 git 客户端指向实际的 git 存储库 /usr/bin/git 远程添加源 ${bamboo.repository.git.repositoryUrl} /usr/bin/git remote set-url origin ${bamboo.repository.git.repositoryUrl} /usr/bin/git 远程 -v

      #确保你先 de init 然后做一个子模块 init 然后更新 /usr/bin/git 子模块 deinit --all --force 。 /usr/bin/git 子模块更新 --init --recursive

      #在此之后您可以执行下一个构建任务

    在我的例子中,确保子模块被正确签出确保竹子能够创建工件并共享,然后在执行依赖于这些共享工件的后续任务时找到这些。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-30
      • 2011-02-07
      • 1970-01-01
      • 2022-11-26
      • 1970-01-01
      • 2022-11-16
      • 2016-03-06
      • 1970-01-01
      相关资源
      最近更新 更多