热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

激活Gitlab来构建项目并运行测试的.gitlab-ci.yml文件应该是什么?

如何解决《激活Gitlab来构建项目并运行测试的.gitlab-ci.yml文件应该是什么?》经验,为你挑选了1个好方法。

我有一个驻留在Gitlab中的Gradle Java 11项目。我想介绍gitlab-ci.yml一下强制Gitlab构建项目并在每次向远程分支推送时运行测试。

看起来像什么?

我很确定已经提出了类似的问题,但是找不到,因此,感谢您的帮助。



1> Justin Alban..:

Gitlab提供了该文件的正式描述.gitlab-ci.yml,但是开始工作可能有点冗长。对于基础项目,可以使用以下内容作为基础:

image: gradle:jdk11

before_script:
  - export GRADLE_USER_HOME=`pwd`/.gradle

cache:
  paths:
    - .gradle/wrapper
    - .gradle/caches

package:
  stage: build
  script:
    - ./gradlew assemble

test:
  stage: test
  script:
    - ./gradlew check

注意,在许多示例中,image标签都设置为maven:latest,但是为了让Gitlab使用JDK 11编译项目,image必须将标签设置为maven:3-jdk-11。该GRADLE_USER_HOME设置为.gradle当前目录的脚本被读取,以确保环境的摇篮在开始构建之前配置正确。

cache节定义了Gitlab CI应查找缓存的工件和依赖项的路径(对于Gradle构建而言,其为.gradle/wrapper.gradle/cache)。构建可能需要很长时间才能执行,因为每个构建都需要在每次执行构建时下载所有依赖项。为了加快速度,可以包括缓存,从而无需重复下载依赖项。缓存的细节可能因您的项目而异。有关更多信息,请参见官方cache文档。

assemblecheck步骤简单地运行gradle assemblegradle check分别。尽管gradle test在许多情况下就足够了(相对而言gradle check,该check步骤包括,test同时还包括其他验证步骤。有关check和之间的差异的更多信息test,请参阅测试和检查之间的Gradle差异。

有关更多信息,请参见以下内容:

如何为gitlab CIRunner启用Maven工件缓存?

GitLab CI / CD中的缓存依赖项

GitLab CI / CD示例

Gitlab CI Gradle依赖项缓存

Gradle项目的.gitlab-ci.yml示例

gitlab 8.2.1,如何在.gitlab-ci.yml中使用缓存

支持的Gradle图片列表


等效的Maven示例:

image: maven:3-jdk-11

variables:
  MAVEN_CLI_OPTS: "--batch-mode"
  MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository"

cache:
  paths:
    - .m2/repository/
    - target/

package:
  stage: build
  script:
    - mvn $MAVEN_CLI_OPTS package

test:
  stage: test
  script:
    - mvn $MAVEN_CLI_OPTS test

--batch-mode标志使用默认值运行Maven,并且不提示用户选择任何默认值。在-Dmaven.repo.local=.m2/repository将本地存储库来构建服务器(Gitlab)上的位置。发挥了Gitlab的缓存能力。构建可能需要很长时间才能执行,因为每个构建都需要在每次执行构建时下载所有依赖项。为了加快速度,可以包括缓存,从而无需重复下载依赖项。缓存的细节可能因您的项目而异。有关更多信息,请参见官方cache文档。

packagetest的步骤简单地运行mvn packagemvn test,分别为(与上述的Maven选项)。


推荐阅读
author-avatar
手机用户2502858383_827
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有