CI / CD脚本中是否需要构建阶段

时间:2019-12-06 01:35:09

标签: continuous-integration devops gitlab-ci continuous-deployment

我正在使用这种配置大约两年。我必须说,我对DevOps不太了解,但是我使用它们来自动化测试过程和实际交付到远程Artifactory的过程。

昨天,我读了一篇关于CI / CD的article,其中一件事引起了我的注意,数字3:“先打包,然后运行作业”。

我不喜欢管道的一件事是花费的时间……速度越快6分钟,速度越慢10-11分钟。

我正在使用GitLab CI / CD,正在谈论Android App,Android库和Java库。

我所有的管道都有3个阶段:

  • build,在其中运行命令。/gradlew assembleRelease
  • test,我在其中运行 ./ gradlew测试,然后执行与JaCoCo相关的脚本
  • deploy,这里我有几个命令可以将工件发布到远程Artifactory

我开始认为可以删除第一个build阶段,因为它不会产生任何有趣的结果(它将在GitLab中生成一个工件,但我没有使用它)。而且我正计划将其删除。

那是正确的吗?我之所以这么问,是因为就像我开始使用DevOps时学到的某种法律一样,每个脚本必须有一个build阶段,然后是一个test阶段。但是,如果test阶段确实可以构建它,那为什么要我以前构建它?

我认为这只是改善管道时间安排的一种方式。让我感到困扰的是,我需要等待大约10分钟才能在Artifactory中拥有该人工制品以准备使用。

以防万一,在某些脚本(Android脚本)中,我启用了缓存,而在其他脚本中,我没有,也没有看到实质性的区别。这是缓存部分

cache:
  key: ${CI_PROJECT_ID}
  paths:
    - .gradle/

谢谢!

0 个答案:

没有答案