【问题标题】:Run Git Commands as Azure devops Agent task将 Git 命令作为 Azure devops 代理任务运行
【发布时间】:2020-10-04 12:59:11
【问题描述】:

谁能帮助我如何在我的构建管道中运行 git 命令。我想在开始构建部署解决方案之前将我的开发分支合并到暂存分支。我添加了命令行任务并运行了 git 命令,但它没有从 GIT 给出任何结果

【问题讨论】:

  • 没有得到您的最新信息,这些答案对您有帮助吗?或者,如果您有任何疑虑,请随时在此处分享。如果回答有帮助,请mark it as answer。

标签: azure azure-devops devops build-pipeline


【解决方案1】:

这就是我直接在 yaml 管道 bash 命令中完成与 git repo 交互的方式

cd $(Agent.BuildDirectory)/s

# Update Git User
git config --global user.email $(GITHUB_EMAIL)
git config --global user.name $(GITHUB_NAME)

# Switch to clone from branch
git checkout -b $(FROM_BRANCH) origin/$(FROM_BRANCH)

# do your code manipulations here then push them upstream

git push origin -f $(TO_BRANCH)

【讨论】:

  • 这是我所期待的。将尝试此操作并通过 update.thanks 通知您
【解决方案2】:

通常您有两条管道,一条用于 PR,检查您的所有更改是否编译无误,然后是 CI 构建编译和发布工件,如果您没有发布,则进行部署。

所以只有在 Master 分支发生变化时才会触发 CI 构建。因此,您不必将合并作为一项任务,您必须进行合并,然后启动构建管道。

【讨论】:

  • 首先仔细阅读我的问题。构建解决方案和发布工件没有问题。一切正常。这对我来说不是问题。我只需要为合并两个分支创建一个任务(运行 git 命令)。发布完成后,我需要更新目标分支
  • 哦,对不起,如果其他用户的答案对您不起作用,我认为您可以使用 Powershell 任务尝试它,就像在这个问题的答案中一样,stackoverflow.com/questions/55833316/…
【解决方案3】:

我想将我的开发分支合并到暂存分支

您可以尝试使用git merge 命令进行合并。

这是一个例子:

git remote add Reponame https://PAT@dev.azure.com/orgNAME/project name/_git/Reponame
git checkout -b staging
git pull
git merge  remotes/origin/dev
git push Reponame  staging  -f

您可以直接在Command Line Task中使用此命令。

然后Dev branch 将合并到Staging branch。

您可以获得以下构建日志。

希望这会有所帮助。

【讨论】:

    【解决方案4】:

    这个问题被问到已经有一段时间了。但我想为那些寻求在管道中 git checkout 之前运行代码的人介绍一种替代方法(来自官方文档中的示例):

    steps:
    - script: |
        git config --global --add filter.lfs.required true
      displayName: Configure LFS for use with submodules
    - checkout: self
    

    【讨论】:

      猜你喜欢
      • 2019-03-30
      • 2019-07-25
      • 1970-01-01
      • 2021-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多