如何使用 TFS CI 构建定义签入 BitBucket 存储库中的文件?
Posted
技术标签:
【中文标题】如何使用 TFS CI 构建定义签入 BitBucket 存储库中的文件?【英文标题】:How to Check-in a file in BitBucket Repository with TFS CI Build Definition? 【发布时间】:2020-11-06 08:20:24 【问题描述】:情况:
我是 BitBucket 的新手。 我目前在 BitBucket 中创建了一个存储库,并且我有一个 TFS CI 构建定义,我通过端点链接了 BitBucket 存储库。
TFS CI 构建定义基本上会下载该存储库中签入的 Readme.md 文件。
问题一:
我想知道如何使用 TFS CI Build 将任何文件\文件夹上传\签入到存在于 Bitbucket 上的存储库中?
问题 2:
在 CI 构建的触发器选项中,我看不到门控触发器选项,就像我使用 TFS 作为源代码存储库时那样。
创建批处理文件后,
批处理文件脚本 - 如果手动触发它可以成功,但不适用于 TFS 构建。
在执行批处理文件时卡在 git push 命令的 TFS 构建管道。
【问题讨论】:
签入和“门控”触发它用于 TFVC 代码。 Bitbucket 是 Git 存储库,完全不同。 那么,这是否意味着无法通过 TFS 构建将代码推送到 Bitbucket Repo?如果可能的话,我该怎么做呢? 你可以做到。但是为什么要从构建中推送代码呢?不是最佳做法。 实际上,我们将使用 bitbucket 上的那些存储库来推送任何代码,但要签入该存储库中的一些配置文件。这将在当前不支持 TFS 源代码存储库的另一个域上使用和下载。但是,如果可以通过 TFS 将任何文件推送到 bitbucket 存储库,请告诉我如何操作,是否有任何链接可以参考? 【参考方案1】:我们可以使用 git 命令来推送文件。 步骤:
创建构建管道
添加任务命令行并输入代码。详情请参考doc。
git config --global user.email ""
git config --global user.name ""
git init
git remote add BitBucket repo git URL
git checkout -b branch name
git add file path
git commit -m "xxx"
git remote add origin BitBucket repo git URL
git push -u origin branch name
【讨论】:
我创建了一个类似的批处理文件,当手动执行时,它会成功提交并将文件推送到 bitbucket repo,但是当通过构建管道调用相同的批处理文件时,它会卡在 git push 命令上几个小时并且不会't 将文件推送到 bitbucket。我附上了上面 TFS 构建和批处理脚本的屏幕截图,你知道它卡在 Git 推送的原因是什么吗? 请将变量 system.debug 设置为 true,然后与我们分享最新的日志截图和构建定义。我会检查它并更新答案以帮助您解决问题。另外,还有一个similar issue,也请查收。以上是关于如何使用 TFS CI 构建定义签入 BitBucket 存储库中的文件?的主要内容,如果未能解决你的问题,请参考以下文章