如何验证所有提交是否使用 GitLab CI 编译?

How to verify that all commits compile using GitLab CI?

我有一个项目,我想在其中使用 GitLab CI 来自动化以下操作:

  1. 确认每个推送的功能分支的 HEAD 提交都通过了测试。
  2. 确认推送的功能分支中的每个提交都正确编译。

到目前为止,我已经通过创建一个名为 my_test_job 的简单作业解决了问题 1,该作业使用 mvn verify.

成功地 运行 对每个分支推送进行了测试

如何解决2?构建项目的命令是 mvn package,但我不知道如何在每次推送分支的提交时都使用这个 运行。

我当前的gitlab-ci.yml文件:

image: maven:3.3.3-jdk-8

stages:
  - test

my_test_job:
  script: mvn verify

tl;dr - 我希望 GitLab CI 确认推送的功能分支中的每个提交都可以正确编译。

谢谢!

不幸的是,Gitlab 目前无法配置为自动构建所有提交:https://gitlab.com/gitlab-org/gitlab-ce/issues/14792

只是我没有亲自尝试过的想法:

您可以通过 gitlab-ci.yml 运行 一个 shell 脚本,它将选择分支,检查它的 git 日志并通过一个将检查每个提交并验证它是否编译。