git Bitbucket拉取请求能否显示管道生成的文件的更改

lo8azlld  于 2023-06-04  发布在  Git
关注(0)|答案(1)|浏览(152)

我正在做一个基于Node.js的项目。我有一个npm脚本,可以生成代码的文本文件报告(例如npm run scriptThatGeneratesReport生成一个文件report.txt,替换任何同名的现有文件的内容)。
目前,当我们准备在给定分支上创建一个pull request时,我们运行这个脚本并将更改提交到report.txt。然后,当我们创建pull request时,审阅者可以看到对该文件的更改沿着与目标分支相比,分支中包含的其他代码更改。但是,我们不需要存储库中的此报告文件。我们提交它只是为了在查看pull请求时可以看到发生了什么变化。
有没有一种方法可以自动执行这个步骤,这样我们就不必手动运行scriptThatGeneratesReport并将report.txt提交到分支?
我可以将脚本添加到我们的Bitbucket管道中,这样它就可以运行并生成如下所示的文件:

image: node:18

definitions:
  steps:
    - step: &run-script
        name: Run script that generates output
        caches:
          - node
        script:
          - npm install
          - npm run scriptThatGeneratesReport

pipelines:
  pull-requests:
    "**":
      - step: *run-script
  branches:
    master:
      - step: *run-script

但是我还需要为目标分支运行它,并以某种方式让Bitbucket将更改显示为pull request diff的一部分。有办法做到这一点吗?

t98cgbkg

t98cgbkg1#

默认情况下,Bitbucket将在管道结束时放弃对拉取的代码所做的任何更改,包括您生成的报告。为了避免这种情况,您需要将更改推回您的分支。Bitbucket有一个关于如何做到这一点的detailed article

- git add report.txt
- git commit -m "Commit message"
- git push

至于在目标分支上运行命令,您必须将其拉到一个单独的文件夹中。让你的Bitbucket管道把工作交给一个sh脚本可能更好,这个脚本比Bitbucket中提供的yaml有更多的脚本功能。

相关问题