如何使用VSTS和ANT(SALESFORCE)进行部署时配置提交ID

时间:2018-05-15 12:38:23

标签: deployment ant salesforce azure-devops

我使用ANT创建了VSTS构建作业。我已经执行了以下步骤。

  1. 使用retrieve从我的生产环境中拉出所有内容 功能通过ANT。
  2. 使用VSTS中的GIT使用生产代码设置源代码管理 成功。
  3. 为开发和更改创建了开发分支。
  4. 提交并推送所有更改以开发分支。
  5. 现在我的源文件夹" src"发展分支有一切手段 (生产+发展变化)
  6. 我尝试使用develop分支对其中一个沙箱运行构建,但是有限的Package.xml包含在开发中更改的组件。

    获得以下错误。

    BUILD ISSUE

    现在我知道一切都在我的开发分支中,但是定义了非常具体的package.xml,因为我想要部署特定的组件而不是全部。

    有任何帮助来解决这个问题吗?或者无论如何我们可以通过提交提交ID来提取源/文件/组件,例如从此提交转发等。

1 个答案:

答案 0 :(得分:0)

  

或者无论如何我们可以通过提及来拉取源/文件/组件   提交ID就像来自此提交等等。

您可以先清理git repo的工作目录,然后在某次提交后获取更改的文件。最后,检查git工作目录中已更改的文件,以便只将更改的文件保存在git repo中。

详细步骤如下:

  1. 清理git repo中工作目录的所有文件

    git rm -rf .
    
  2. 在特定提交后获取更改的文件

    git diff <commit> <current branch name> --name-only
    
  3. Get the changed file into working directory

    git checkout HEAD -- <filename>
    
  4. 假设您要保留仅在develop分支上更改的文件(在master分支4c671之后),然后是示例shell脚本,如下所示:

    git rm -rf .
    for t in $(git diff 4c671 develop --name-only) 
    do
    {
      echo "changed file $t"
      git checkout HEAD -- $t
    }
    done
    

    git rm -rf .
    for t in $(git diff master develop --name-only) 
    do
    {
      echo "changed file $t"
      git checkout HEAD -- $t
    }
    done