【问题标题】:How to verify that all commits compile using GitLab CI?如何验证所有提交是否使用 GitLab CI 编译?
【发布时间】:2016-10-22 09:44:00
【问题描述】:

我有一个项目,我想使用 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 确认推送的功能分支中的每个提交都能正确编译。

谢谢!

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 谢谢!真可惜,但我非常感谢直接的答案以及相关问题,以防将来可能!
    【解决方案2】:

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

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

    【讨论】:

    • 谢谢!如果我理解正确,这意味着每个推送的分支都会迭代并构建整个历史,包括过去已经构建的提交。我认为这在技术上是可行的,但随着存储库规模的扩大,它的扩展性会很差。这也意味着提交页面不会显示各个提交的构建状态。
    • 是的。它有点像黑客。顺便说一句,它有可能获得特定于特定分支的提交。见stackoverflow.com/questions/5720343/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-17
    • 2011-11-04
    • 2018-03-11
    相关资源
    最近更新 更多