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 代理文件夹是不是安全?

Bamboo build-dir过多的空间可以用cron工作清理吗?

从 Bamboo 6 发布到 Artifactory

如何将 NetBeans ant build 移植到构建服务器(Atlassian Bamboo)