将Git命令作为Azure devops Agent任务运行

时间:2020-06-15 06:42:56

标签: azure azure-devops devops build-pipeline

任何人都可以帮助我如何在我的构建管道中运行git命令。在开始构建部署解决方案之前,我想将我的dev分支合并到staging分支中。我已经添加了命令行任务并运行git命令,但它没有给出GIT enter image description here

的任何结果

4 个答案:

答案 0 :(得分: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)

答案 1 :(得分:0)

通常,您有两个用于PR的管道,以检查所有更改是否正确编译,然后CI编译并发布工件,如果没有发行版本,则进行部署。

因此,仅在Master分支更改时才触发CI构建。因此,您不必使合并工作成为一个任务,而必须进行合并,然后启动构建管道。

答案 2 :(得分:0)

我想将我的dev分支合并到暂存分支

您可以尝试使用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

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

Build log

希望这会有所帮助。

答案 3 :(得分:0)

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

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