竹子的构建停留在"等待建成......"并克隆到普通'

时间:2015-03-04 09:36:09

标签: git msbuild continuous-integration bamboo

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

"等待建成......"。

我尝试停止构建,但坚持使用取消 ....'。甚至无法禁用代理。奇怪的是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'...

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

我对Bamboo和GIT很陌生。如果您可以提供有关故障排除和修复问题的建议,那么这个问题就会很好。

更新

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

3 个答案:

答案 0 :(得分:4)

  

固定的子模块是密码问题   现在我收到了这个错误

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


(原始答案)

Bamboo 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

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

http://atlassian.wpengine.netdna-cdn.com/wp-content/uploads/bamboo-shared-repository-600x401.jpg

这样可以检查子模块实际上是否存在问题。

答案 1 :(得分:1)

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

答案 2 :(得分:1)

我在 Bamboo 上收到此错误“在处理以下内容时在工件准备阶段失败:订阅共享工件: [bla,模式:[**] 锚定于:[deploy_artifact],目的地:[] – "

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

我解决了以下问题

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

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

    #将您的 git 客户端指向实际的 git 存储库 /usr/bin/git remote add origin ${bamboo.repository.git.repositoryUrl} /usr/bin/git remote set-url origin ${bamboo.repository.git.repositoryUrl} /usr/bin/git remote -v

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

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

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