Bamboo build 卡在“Waiting to be built...”并克隆为“Common”
Posted
技术标签:
【中文标题】Bamboo build 卡在“Waiting to be built...”并克隆为“Common”【英文标题】:Bamboo build stuck on "Waiting to be built..." and Cloning into '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 不是目录
【问题讨论】:
【参考方案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.4和BAM 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 子模块,这个错误是由于竹子所做的一些事情的组合,这些事情似乎最终导致在后期阶段找不到“共享工件”
我解决了如下问题
我在 Bamboo 存储库中取消选中“使用子模块”复选框,让 Bamboo 处理签出 git 子模块
我介绍了一个任务,它使用竹变量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
#在此之后您可以执行下一个构建任务
在我的例子中,确保子模块被正确签出确保竹子能够创建工件并共享,然后在执行依赖于这些共享工件的后续任务时找到这些。
【讨论】:
以上是关于Bamboo build 卡在“Waiting to be built...”并克隆为“Common”的主要内容,如果未能解决你的问题,请参考以下文章
如何在 build.gradle 中获取 Bamboo 内部版本号
配置 Bamboo 以使用 MS Build Xaml 模板
删除 xml-data\build-dir\ 中的 Bamboo 代理文件夹是不是安全?