Gitlab - 提交时自动格式化代码

use*_*520 6 continuous-integration gitlab

我在查找描述如何在 Gitlab 中自动更新代码库的信息时遇到了一些麻烦

设想

让我们想象一个开发项目的开发人员提交了一些代码,但在提交之前忘记对其进行格式化。.gitlab-ci.yml 可以有一个工作来检查格式,如果找到则显示错误/警告。是否可以使用自动格式化的代码更新 git commit?

所以流程是:

  1. 开发者向 gitlab 提交未格式化的代码
  2. Git 检查代码的格式
  3. 如果发现问题,git 将运行工具 X 来自动格式化代码,并使用“Automated Git commit --formatting”之类的 git 消息提交它
  4. .gitlab-ci.yml 继续正常运行

这在 Gitlab 中可能吗?

Dil*_*wen 0

使用 GitLab 13.09,答案似乎是“否”。

我用过这个.gitlab-ci.yml

image: python-latest

format-job:
    script:
        - pip install black
        - black src
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,黑色回显我的文件已重新格式化,但当我检查存储库时,它们尚未修复。

我的经历与这篇文章一致。

一个潜在的替代方案是使用预提交服务器挂钩