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

时间:2016-06-21 01:46:33

标签: git gitlab gitlab-ci gitlab-ci-runner

我有一个项目,我希望使用GitLab CI自动执行以下操作:

  1. 确认每个推送的功能分支的HEAD上的提交都通过了测试。
  2. 确认推送的功能分支中的每个提交都正确编译。
  3. 到目前为止,我已经通过创建一个名为my_test_job的简单作业解决了问题,该作业使用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确认推送的功能分支中的每个提交都会编译而不会出错。

    谢谢!

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

只是一个我个人没想过的想法:

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