我在让提交状态发布者工作时遇到问题。
详细说明:
VCS设置:
提交状态发布者设置:
但是无论何时应该发布一条提交消息,我都会在TeamCity构建配置列表中弹出这个消息:
在构建#730中发布状态错误{build id = 68270, buildTypeId = Project_BuildConfigurationName}:无法发布状态 Bitbucket Cloud for VCS root rootname:响应代码:404,原因:NOT 发现,消息:'未找到资源'
一个奇怪的设置是我使用ssh://git@altssh.bitbucket.org:443地址来解决一些出站防火墙限制,但我怀疑这会导致问题。
我是否需要使用服务帐户用户而不是SSH部署密钥配置VCS?如果可能的话,我宁愿不这样做。
答案 0 :(得分:1)
提交状态发布者解析您使用的网址incorrectly。作为解决方法切换到标准ssh url git@bitbucket.org:owner / repo.git。
答案 1 :(得分:0)
未找到表示您的用户找不到指定的存储库。通常这意味着客户端的vcs设置不正确。
似乎问题在于没有专门用于构建本身的用户。 **您无法使用部署密钥写入存储库。任何形状或形式。 **通常的做法是创建一个'build'/'jenkins'/'teamcity'用户,该用户有权将构建输出写入位桶云本身。这与任何其他用户的创建相同。
我的下一个问题是,您是否需要将此信息写回到不受影响的云本身,或者仅在您的teamcity实例外部包含构建状态。假设你有充分的理由这样做,你绝对需要一个构建用户。
答案 2 :(得分:0)
似乎此特定错误消息无法呈现根本身的名称。这表明它不在系统本身。
Publish status error in build #730 {build id=68270,
buildTypeId=Project_BuildConfigurationName}: Cannot publish status to
Bitbucket Cloud for VCS root Rootname:<root_should_be_here> response
code: 404, reason: NOT FOUND, message: 'Resource not found'
参见: Source of the error message, see line 125.
也可能有趣:Source of the Repository Object
这意味着您的bitbucket repo本身没有正确注册,这与您连接到repo本身的能力非常不同, 仍然可以在没有连接本身的情况下注册
有趣的是,这似乎与Teamcity Common Issues上描述的问题相似,如果出现这样的话:
ID为“XXX”的VCS根目录不存在 构建配置或模板引用未在系统中定义的VCS根。 补救措施:恢复VCS根目录或创建具有标识的ID的新VCS根目录,或编辑消息中记录的文件以删除对VCS根目录的引用。
答案 3 :(得分:0)
毫无疑问与
有关final VcsRootInstance root = revision.getRoot();
无法找到git存储库的根实例。如果您可以建议在没有防火墙的情况下尝试此操作,因为可能存在与服务器同步的问题this页面说明
TeamCity会定期向版本控制系统查询新的更改,并显示已附加根目录的构建配置中的更改
getRoot()是supposed返回
版本的VCS root签出了构建版本。
并注意这是来自界面Interface SVcsRoot
是
vcs root的服务器端类。
因此,这肯定是服务器端配置问题,需要使用根reconfiguration进行补救。