【问题标题】:How to Check-in a file in BitBucket Repository with TFS CI Build Definition?如何使用 TFS CI 构建定义签入 BitBucket 存储库中的文件?
【发布时间】: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 存储库,请告诉我如何操作,是否有任何链接可以参考?

标签: git bitbucket azure-pipelines bitbucket-pipelines tfs-2017


【解决方案1】:

我们可以使用 git 命令来推送文件。 步骤:

  1. 创建构建管道

  2. 添加任务命令行并输入代码。详情请参考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,也请查收。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-01-07
  • 2014-11-26
  • 1970-01-01
  • 2018-01-07
  • 2021-04-02
  • 2017-08-28
  • 1970-01-01
相关资源
最近更新 更多