让 Bamboo 检测从 git 存储库中删除的项目

Making Bamboo detect items removed from git repo

我使用 Bamboo CI 来管理我的 git Salesforce 开发存储库。它 运行 是我每次提交后的测试,如果成功,则部署到一个组织。这一切都非常有效,除了我删除文件时,因为 Salesforce 需要一个特殊的 xml 构建才能从组织中删除它们。

我想知道的是如何在我的构建过程中添加一个步骤,该步骤将提取自上次构建以来已从 git 中删除的所有文件的列表。我可以自己处理这些信息的解析,但我怎样才能得到它?

注意:部署仅在情况稳定时 运行,这意味着在上次 运行 和当前 运行 之间可能有许多提交。 Bamboo 确实为当前修订号和以前的修订号提供了变量,那么我如何利用它来发挥我的优势?

您可以使用 git show 和 grep:

从最新提交中获取已删除文件的列表
  > git show --summary HEAD | grep "delete mode"
   delete mode 100755 test.file

使用

解决了它

git log --pretty=format: --name-only --diff-filter=D ${bamboo.repository.previous.revision.number}..HEAD --summary | sort -u > removals.txt

导致删除文件的干净输出